Redis zremrangebyrank 命令用于删除排序集中存储在 key 处的所有元素,其 rank 介于 start 和 stop 之间。
start 和 stop 都是从零开始的索引,
- 0 是第一个元素,
- 1 是下一个元素,依此类推。
它们也可以是负数,表示从得分最高的元素开始的偏移量。
- -1 是排序集的最后一个元素
- -2 倒数第二个元素,依此类推。
语法:
zremrangebyrank key start stop
可用版本
>=2.0.0.
返回值
整数,移除的元素个数。
返回值类型
整数
示例1:Redis zremrangebyrank:删除索引范围内的成员
localhost:0>zadd mycityset 1 北京 2 上海 3 广州 4 深圳 5 天津
"5"
localhost:0>zrange mycityset 0 -1 WITHSCORES
1) "北京"
2) "1"
3) "上海"
4) "2"
5) "广州"
6) "3"
7) "深圳"
8) "4"
9) "天津"
10) "5"
localhost:0>zremrangebyrank mycityset 1 2
"2"
localhost:0>zrange mycityset 0 -1 WITHSCORES
1) "北京"
2) "1"
3) "深圳"
4) "4"
5) "天津"
6) "5"
示例2:Redis zremrangebyrank:使用负索引删除成员
localhost:0>zadd mycityset 1 北京 2 上海 3 广州 4 深圳 5 天津
"5"
localhost:0>zrange mycityset 0 -1 WITHSCORES
1) "北京"
2) "1"
3) "上海"
4) "2"
5) "广州"
6) "3"
7) "深圳"
8) "4"
9) "天津"
10) "5"
localhost:0>zremrangebyrank mycityset -3 -2
"2"
localhost:0>zrange mycityset 0 -1 WITHSCORES
1) "北京"
2) "1"
3) "上海"
4) "2"
5) "天津"
6) "5"