Redis ZSETS获得得分最高的元素并将其删除

时间:2016-07-13 10:44:12

标签: redis

我正在尝试使用Redis ZETS实现LIFO(后进先出)堆栈。我得分是将元素插入集合的unix纪元时间戳。我需要实现POP操作。我弄清楚的方法是使用

ZREVRANGEBYSCORE <key> <current timestamp> 0 limit 0 1

从当前时间戳开始直到零,只获取一个元素。

但是,要删除该成员,我必须调用ZREM命令。

是否有可能在一次通话中实现我想要实现的目标?

此外,是否可以使已排序集的各个成员到期?到目前为止,我只能找到在密钥上工作的到期时间。不确定它是否也可以应用于元素。

更新我找到了到期的解决方法。我可以在我的ZREVRANGEBYSCORE电话中提取最小时间戳,这将符合我的目的。

0 个答案:

没有答案