Redis ZRANGEBYLEX 命令
Redis ZRANGEBYLEX 返回有序集合区间内的成员
( Redis >= 2.8.9 )
命令会使用 C 语言的 memcmp() 函数, 对集合中的每个成员进行逐个字节的对比(byte-by-byte compare), 并按照从低到高的顺序, 返回排序后的集合成员。 如果两个字符串有一部分内容是相同的话, 那么命令会认为较长的字符串比较短的字符串要大。
语法
Redis ZRANGEBYLEX 命令语法如下:
127.0.0.1:6379> ZRANGEBYLEX key [min [max [LIMIT offset count]
可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素 (就像 SQL 中的 SELECT LIMIT offset count 语句)。 需要注意的一点是, 如果 offset 参数的值非常大的话, 那么命令在返回结果之前, 需要先遍历至 offset 所指定的位置, 这个操作会为命令加上最多 O(N) 复杂度
[ 符号
- [min 表示返回的结果中包含 min 值
- [max 表示返回的结果中包含 max 值
( 符号
- (min 表示返回的结果中不包含 min 值
- (max 表示返回的结果中不包含 max 值
特殊值 + 和 - 在 min 参数以及 max 参数中具有特殊的意义, 其中 + 表示正无限, 而 - 表示负无限。 因此, 向一个所有成员的分值都相同的有序集合发送命令 ZRANGEBYLEX
返回值
指定区间内的元素列表
范例
127.0.0.1:6379> FLUSHALL OK 127.0.0.1:6379> ZADD chars 1 a 2 b 2 c 3 d 3 e 4 f 4 g 5 h 5 i (integer) 9 127.0.0.1:6379> ZRANGEBYLEX chars - [c 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> ZRANGEBYLEX chars - (c 1) "a" 2) "b" 127.0.0.1:6379> ZRANGEBYLEX chars [aaa (g 1) "b" 2) "c" 3) "d" 4) "e" 5) "f"