假设我想将最近添加的 10 个存储到 redis 排序集中,其中第 11 个添加将第一个从列表中推开。直到它达到 10 个项目,它才会正常增长。
我是否必须自己检查每个添加的长度并删除第一个元素?
假设我想将最近添加的 10 个存储到 redis 排序集中,其中第 11 个添加将第一个从列表中推开。直到它达到 10 个项目,它才会正常增长。
我是否必须自己检查每个添加的长度并删除第一个元素?
我认为您不需要检查长度,但必须自己设置上限:
ZREMRANGEBYRANK [KEY] 0 -10
如果您只需要将第一个成员删除到 ZSet 中,您可以使用以下命令:
ZREMRANGEBYRANK key 0 0
您还可以使用分数为 1 的 ZADD 将第 11 个元素排序为 ZSet 中的第一个成员:
ZADD key 1 member
前任:
redis 127.0.0.1:6379> ZADD myzset 1 one
(integer) 1
redis 127.0.0.1:6379> ZADD myzset 1 two
(integer) 1
redis 127.0.0.1:6379> ZRANGE myzset 0 -1 withscores
1) "one"
2) “1”
3)“二”
4)“1”
redis 127.0.0.1:6379> ZREMRANGEBYRANK myzset 0 0
(整数)1
redis 127.0.0.1:6379> ZADD myzset 1 三
(整数)1
redis 127.0.0.1:6379> ZRANGE myzset 0 -1 withscores
1) “三”
2) “1”
3) “二”
4) “1”