1 简介

ZLEXCOUNT 命令用于计算有序集合中指定成员之间的成员数量。

2 语法

2.1 完整示例

zlexcount zset [member1 [member5

2.2 说明

指令 是否必须 说明
zlexcount 指令
key 有序集合键名称
min 在有序集合中分数排名较小的成员
max 在有序集合中分数排名较大的成员

提示:

  • 成员名称前需要加 [ 符号作为开头, [ 符号与成员之间不能有空格
  • 可以使用 -+ 表示得分最小值和最大值
  • minmax 不能反, max 放前面 min放后面会导致返回结果为0
  • 计算成员之间的成员数量时,参数 minmax 的位置也计算在内。
  • minmax 参数的含义与 zrangebylex 命令中所描述的相同

3 返回值

有序集合中成员名称 min 和 max 之间的成员数量; Integer类型。

4 示例

4.1 计算成员之间成员数量

redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e
(integer) 5
redis> ZADD myzset 0 f 0 g
(integer) 2
redis> ZLEXCOUNT myzset - +
(integer) 7
redis> ZLEXCOUNT myzset [b [f
(integer) 5
redis> 

4.2 计算某个成员之前或者之后的成员数量

- 表示得分最小值的成员 + 表示得分最大值的成员

redis> ZADD myzset 1 a 2 b 3 c 4 d 5 e 6 f 7 g
(integer) 7
redis> zrange myzset 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "g"
redis> ZLEXCOUNT myzset - +
(integer) 7
redis> ZLEXCOUNT myzset [c +
(integer) 5
redis> ZLEXCOUNT myzset - [c
(integer) 3
redis> 

4.3 分数值位置的重要性

redis> del myzset
(integer) 1
redis> ZADD myzset 1 a 2 b 3 c 4 d 5 e 6 f 7 g
(integer) 7
redis> zrange myzset 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "g"
redis> ZLEXCOUNT myzset [c [f
(integer) 4
redis> ZLEXCOUNT myzset [f [c
(integer) 0
redis>