现在我对解决方案做了一些更改。我现在想要得到的是给定键范围的键->分数对。例如: 设置 = [1:3, 2:5, 7:8, 10:1] 对于范围 [2, 8] 我想得到:[2: 5, 7: 8]
如何从 Redis 排序集中获取最后插入的(或最后 5 个)项目。我尝试了 zrange 函数,但它在排序时考虑了分数。我能以某种方式让它们按插入时间排序吗?或者,通过 key ?
我考虑过使用列表,但我还需要按键访问元素,这就是为什么我想使用排序集(更好的访问时间复杂度)。
谢谢!
最佳答案
你可以让你的分数成为一个复合值:时间戳和原始分数的串联。
插入项目时的前 10 位是时间戳。最后一位 x 是该项目的分数(意味着您必须在开头添加一些 0 才能始终具有相同的位数)。
示例:148594228400023
然后,您可以使用 zrevrangebyscore 获取最后插入的 5 个项目并检索项目的分数。
关于redis - 获取 Redis 排序集中最后插入的项的键和分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36661869/