有什么方法可以使用 JedisCluster API 从 redis 服务器获取时间?

Is there any way to get time from redis server with JedisCluster API?

我在我的应用程序中使用了Jedis(2.9.0) API,我发现API不支持redis的TIME命令,我如何从Redis服务器获取系统时间?或者使用 lua 脚本来做?先谢谢了。

ATM Jedis 无法向 Redis 发送原始命令,并且 TIME 命令当前不属于它。如果你真的需要这个,你需要分叉并实施,然后发送拉取请求。

Jedis 的目标是输入安全且简单。添加新命令相对容易。

即使 jedis 还不支持,您可以使用 lua 脚本轻松实现它。

像这样

        String script = "local ntime = redis.call('TIME')\n" +
                "return ntime";

        ArrayList<Long> eval = (ArrayList<Long>)jedisCluster.eval(script, "1");
        System.out.println(eval);

return列表"eval"就是什么时间命令returned,正如redis网站描述的:

Return value

Array reply, specifically:

A multi bulk reply containing two elements:

unix time in seconds.

microseconds.

我用的是jediscluster,所有的eval方法都需要"key"参数,所以我随便输入了一个key“1”,因为这个key其实没什么用。您可以选择合适的客户端和方法,但代码会类似。