Redis有序集合命令ZREMRANGEBYLEX详解与应用
来源:互联网 发布:设计方案优化措施 编辑:程序博客网 时间:2024/06/16 17:35
Redis有序集合命令ZREMRANGEBYLEX详解与应用
本文是我在Redis中文网翻译团队翻译redis命令的相关内容,也是取得翻译团队同意后在CSDN同步发表
redis.cn翻译团队 也欢迎有兴趣、有能力的朋友加入!
1 简介
ZREMRANGEBYLEX 是删除 “min” 与 “max” 之间所有成员, 有序集合分数应该相同, 排序方式是根据名称按字典由低到高排序。
不要在成员分数不同的有序集合中使用此命令, 因为它是基于分数一致的有序集合设计的,如果使用,会导致删除的结果不正确。
待删除的有序集合中,分数最好相同,否则删除结果会不正常。
2 语法
2.1 完整示例
ZREMRANGEBYLEX key min max
2.2 说明
指令 是否必须 说明 ZREMRANGEBYLEX 是 指令 key 是 有序集合键名称 min 是 字典中排序位置较小的成员,必须以”[“开头,或者以”(“开头,可使用”-“代替 max 是 字典中排序位置较大的成员,必须以”[“开头,或者以”(“开头,可使用”+”代替提示:
- 有序集合中分数必须相同! 如果有序集合中的成员分数有不一致的,结果就不准。
- 成员顺序是按成员字符串作为二进制数组的字节数进行比较。
- 默认是以ASCII字符集的顺序进行排列。如果成员字符串包含utf-8这类字符集的内容,就会影响返回结果,所以建议不要使用。
- 源码中采用C语言中
memcmp()
函数, 从字符的第0位到最后一位进行排序,如果前面部分相同,那么较长的字符串比较短的字符串排序靠后。 - 默认情况下, “max” 和 “min” 参数前必须加 “[” 符号作为开头。”[” 符号与成员之间不能有空格, 返回成员结果集会包含参数 “max”和 “min”
- “max” 和 “min” 参数前可以加 “(” 符号作为开头表示小于, “(” 符号与成员之间不能有空格。返回成员结果集不会包含 “max” 和 “min” 成员。
- 可以使用 “-” 和 “+” 表示得分最小值和最大值
- “max”和 “min” 不能反, “max” 放后面 “min”放前面会删除不了元素
3 返回值
删除元素的个数。
4 示例
不要在分数不一致的SortSet集合中去使用 ZREMRANGEBYLEX 指令,因为获取的结果并不准确。
4.1 删除所有元素
可以使用 “-” 和 “+” 表示最小值和最大值
redis> zadd zset 0 a 0 aa 0 abc 0 apple 0 b 0 c 0 d 0 d1 0 dd 0 dobble 0 z 0 z1(integer) 12redis> ZRANGEBYLEX zset - + 1) "a" 2) "aa" 3) "abc" 4) "apple" 5) "b" 6) "c" 7) "d" 8) "d1" 9) "dd"10) "dobble"11) "z"12) "z1"redis> ZREMRANGEBYLEX zset - +(integer) 12redis> ZRANGEBYLEX zset - +(empty list or set)
4.2 按名称删除某个元素
下面是删除d1这个元素
redis> zadd zset 0 a 0 aa 0 abc 0 apple 0 b 0 c 0 d 0 d1 0 dd 0 dobble 0 z 0 z1(integer) 12redis> ZRANGEBYLEX zset - + 1) "a" 2) "aa" 3) "abc" 4) "apple" 5) "b" 6) "c" 7) "d" 8) "d1" 9) "dd"10) "dobble"11) "z"12) "z1"redis> ZREMRANGEBYLEX zset [d1 (dd(integer) 1redis> ZRANGEBYLEX zset - + 1) "a" 2) "aa" 3) "abc" 4) "apple" 5) "b" 6) "c" 7) "d" 8) "dd" 9) "dobble"10) "z"11) "z1"
4.3 按名称删除成员之间的元素,包含”max” 和 “min”成员
默认情况下, “max” 和 “min” 参数前必须加 “[” 符号作为开头。
“[” 符号与成员之间不能有空格, 删除成员包含参数 “min” 和 “max” 。
redis> ZRANGEBYLEX zset - + 1) "a" 2) "aa" 3) "abc" 4) "apple" 5) "b" 6) "c" 7) "d" 8) "dd" 9) "dobble"10) "z"11) "z1"redis> ZREMRANGEBYLEX zset [a [apple(integer) 4redis> ZRANGEBYLEX zset - +1) "b"2) "c"3) "d"4) "dd"5) "dobble"6) "z"7) "z1"
“min” 和 “max” 不能反, “min” 放前面 “max”放后面会导致无法删除元素
redis> ZREMRANGEBYLEX zset [dobble [d(integer) 0
4.4 按名称删除成员之间的元素,不包含”max” 和 “min”成员
“max” 和 “min” 参数前可以加 “(” 符号作为开头表示小于, “(” 符号与成员之间不能有空格。
删除成员不会包含 “max” 和 “min” 成员。
redis> ZRANGEBYLEX zset - +1) "b"2) "c"3) "d"4) "dd"5) "dobble"6) "z"7) "z1" redis> ZREMRANGEBYLEX zset (d (dobble(integer) 1redis> ZRANGEBYLEX zset - +1) "b"2) "c"3) "d"4) "dobble"5) "z"6) "z1"
0 0
- Redis有序集合命令ZREMRANGEBYLEX详解与应用
- Redis有序集合命令ZREVRANGEBYSCORE详解与应用
- Redis有序集合命令ZREVRANGEBYLEX详解与应用
- Redis有序集合命令ZRANGEBYLEX详解与应用
- Redis命令 -- 有序集合
- Redis 有序集合命令
- redis命令详解与使用场景举例——SortedSet(有序集合)
- redis有序集合相关命令
- redis详解-(7)有序集合
- Redis 与有序集合(sorted set)相关的命令
- 六、Redis 基础命令--有序集合
- Redis命令学习-SortedSet(有序集合)
- redis有序集合sorted set详解
- redis基本命令之二:集合、有序集合
- redis 集合set 与 有序集合sorted set
- redis-有序集合
- redis 有序集合
- redis 有序集合
- 使用何种方式实现unity动画?
- OSS的Object
- 06上机练习1
- JADX反编译软件使用
- Centos7 下 Nagios 的安装
- Redis有序集合命令ZREMRANGEBYLEX详解与应用
- JavaEE面试注意事项
- BottomSheetPickers 各种时间日历
- 在配置内核时输入:make menuconfig
- unity 资源加载框架设计
- centos6.5下如何把python2.6.6升级到2.7
- mvc view 获取数据库html标签
- linux 守护进程与用&结尾的后台运行程序有什么区别
- 文章收集