目录搜索
文字
分享

Redis Zrangebyscore 命令


Redis Zrangebyscore 返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。

具有相同分数值的成员按字典序来排列(该属性是有序集提供的,不需要额外的计算)。

默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。

举个例子:

1

ZRANGEBYSCORE zset (1 5

返回所有符合条件 1

1

ZRANGEBYSCORE zset (5 (10

则返回所有符合条件 5

语法

redis Zrangebyscore 命令基本语法如下:

1

redis 127.0.0.1:6379> ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

可用版本

>= 1.0.5

返回值

指定区间内,带有分数值(可选)的有序集成员的列表。

实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

redis 127.0.0.1:6379> ZADD salary 2500 jack                        # 测试数据

(integer) 0

redis 127.0.0.1:6379> ZADD salary 5000 tom

(integer) 0

redis 127.0.0.1:6379> ZADD salary 12000 peter

(integer) 0

 

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf               # 显示整个有序集

1) "jack"

2) "tom"

3) "peter"

 

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf WITHSCORES    # 显示整个有序集及成员的 score 值

1) "jack"

2) "2500"

3) "tom"

4) "5000"

5) "peter"

6) "12000"

 

redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000 WITHSCORES    # 显示工资 <=5000 的所有成员

1) "jack"

2) "2500"

3) "tom"

4) "5000"

 

redis 127.0.0.1:6379> ZRANGEBYSCORE salary (5000 400000            # 显示工资大于 5000 小于等于 400000 的成员

1) "peter"