【发布时间】:2017-08-18 08:49:46
【问题描述】:
我在我的应用程序中使用了 Jedis(2.9.0) API,我发现 API 不支持 redis 的 TIME 命令,我如何从 Redis 服务器获取系统时间?或者使用lua脚本来做到这一点?非常感谢。
【问题讨论】:
我在我的应用程序中使用了 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);
返回列表“eval”正是时间命令返回的内容,如redis网站所述:
返回值
数组回复,具体来说:
包含两个元素的多批量回复:
unix 时间,以秒为单位。
微秒。
我用的是jediscluster,所有的eval方法都需要“key”参数,所以我只是输入了一个随机的key“1”,因为这个key其实是没用的。您可以选择合适的客户端和方法,但代码会相似。
【讨论】: