当前位置:知识百科 > 正文
Redis ZREMRANGEBYSCORE命令
Redis ZREMRANGEBYSCORE命令是用于删除有序集合中指定分数范围(包括边界值)内的所有成员.其基本语法格式如下:
ZREMRANGEBYSCORE key min max
其中,key表示有序集合的键名;min和max表示分数的最小值和最大值.ZREMRANGEBYSCORE命令将删除有序集合中分数在[min, max]之间的所有成员.如果[min, max]是一个前闭后闭区间,则包括[min, max]这两个边界值;如果[min, max]是一个前闭后开区间,则只会删除区间内的成员,不包括min和max这两个边界值.
如果要删除有序集合中指定排名范围内的成员,可以使用ZREMRANGEBYRANK命令.
下面是两个ZREMRANGEBYSCORE命令的实例:
删除分数范围内的成员
redis> ZADD myset 0 a 0 b 5 c 10 d 15 e
(integer) 5
redis> ZREMRANGEBYSCORE myset 5 15
(integer) 3
redis> ZRANGE myset 0 -1 WITHSCORES
1) "a"
2) "0"
3) "b"
4) "0"
5) "e"
6) "15"
删除分数相同的成员
redis> ZADD myset 0 a 0 b 0 c 0 d 1 e
(integer) 5
redis> ZREMRANGEBYSCORE myset 0 0
(integer) 4
redis> ZRANGE myset 0 -1 WITHSCORES
1) "e"
2) "1"
关于ZREMRANGEBYSCORE命令的相关注意事项:
当key不存在时,ZREMRANGEBYSCORE命令返回0;
不包含指定分数的成员不受影响;
注意区间的开闭性,不同类型的区间使用中括号和圆括号表示法;
Redis中的有序集合是通过跳表(Skip List)实现的,ZREMRANGEBYSCORE命令的时间复杂度为O(log n),其中n为有序集合的基数.
以上就是日讯小常识小编为大家整理的Redis ZREMRANGEBYSCORE命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!
