Redis 有序集合(zset)

Redis zremrangebylex 命令用于移除排序集中位于区间min和max的元素。

语法:

zremrangebylex key min max 

可用版本

>=2.8.9.

返回值

整数,移除的元素个数。

返回值类型

整数

示例:Redis zremrangebylex

localhost:0>zadd mycityset 0 北京 0 上海 0 广州 0 深圳 0 武汉
"5"
localhost:0>zrangebylex mycityset - +
 1)  "上海"
 2)  "北京"
 3)  "广州"
 4)  "武汉"
 5)  "深圳"
localhost:0>zremrangebylex mycityset "(广州" "(深圳"
"1"
localhost:0>zrangebylex mycityset - +
 1)  "上海"
 2)  "北京"
 3)  "广州"
 4)  "深圳"
localhost:0>zremrangebylex mycityset "[广州" "(深圳"
"1"
localhost:0>zrangebylex mycityset - +
 1)  "上海"
 2)  "北京"
 3)  "深圳"
localhost:0>zremrangebylex mycityset "[广州" "[深圳"
"1"
localhost:0>zrangebylex mycityset - +
 1)  "上海"
 2)  "北京"
localhost:0>

第一次删除都是用的开区间 zremrangebylex mycityset "(广州" "(深圳", 它会移除位于广州和深圳中间的武汉

第二次删除使用的是左闭右开,zremrangebylex mycityset "[广州" "(深圳",它会移除广州。

第三次删除使用的是左闭右闭,两边都会移除,所以最后返回 上海和北京。