JedisCluster API中有没有从redis服务器获取时间的方法?

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

点赞
用户108654
用户108654

ATM Jedis 没有向 Redis 发送原始命令的可能性,而 TIME 命令目前也不是其中的一部分。如果你真的需要这个,你需要 fork 并实现,然后发送 pull 请求。

Jedis 的目标是类型安全和简单。添加新的命令是相对容易的。

2017-03-25 19:32:07
用户3448633
用户3448633

即使 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);

返回的 eval 列表就是时间命令返回的结果,如 redis 网站所述:

返回值

数组回复,具体为:

包含两个元素的多个波动响应:

秒的 Unix 时间戳。

微秒数。

我使用 jediscluster,所有的 eval 方法都需要“键”参数,因此我只输入了一个随机键“1”,因为这个键事实上是无用的。你可以选择适合的客户端和方法,但代码会类似。

2017-04-07 07:59:46