【发布时间】:2016-04-16 08:20:25
【问题描述】:
现在我对我的解决方案进行了一些更改。我现在想要得到的是给定键范围的键-> 分数对。例如: 设置 = [1:3、2:5、7:8、10:1] 对于范围 [2, 8] 我想得到: [2: 5, 7: 8]
如何从 Redis 排序集中获取最后插入的(或最后 5 个)项目。我尝试了 zrange 函数,但它在排序时考虑了分数。我能以某种方式让它们按插入时间排序吗?或者,钥匙?
我考虑过使用列表,但我还需要按键访问元素,这就是为什么我想使用排序集(更好的访问时间复杂度)。
谢谢!
【问题讨论】:
-
你使用的分数意味着什么?也许你可以使用时间戳作为分数?
-
是的,分数很重要。我编辑了这个问题。现在,我想根据键范围获得间隔。 zrange 根据分值给出结果。
-
也许您可以添加一个 lua 脚本来执行此操作,一旦您收到请求,您将数据放入两个 zset 结构中,例如在“键”上构建索引,就像我们在 RDMS 中所做的那样。您也会按分数获得射程吗?如果没有,也许你可以使用一些算法来添加带有分数的 keyinfo。
标签: redis