Redis 有序集合(zset)

Redis zrangebylex 命令用于返回排序集中其值介于最小值和最大值之间的所有元素,当分数相同时,以原排序集的顺序排序。

  • min,max 是成员的范围。所有元素用 -、+ 。
  • min,如果给出最大值必须在前面使用'['或'('。
  • '[' 用于包含值,'(' 用于不包含。

start 和 stop 都是从零开始的索引,

  • 0 是第一个元素,
  • 1 是下一个元素,依此类推。

它们也可以是负数,表示距离排序集末尾的偏移量,

  • -1 是排序集的最后一个元素
  • -2 倒数第二个元素,依此类推。

语法:

zrangebylex  key min max [LIMIT offset count] 

可用版本

>=2.8.9.

返回值

数组,指定分数范围内的元素列表。

返回值类型

数组

示例:Redis zrangebylex

127.0.0.1:6379> zadd mycity 1 Beijing 2 London 3 Paris 4 Tokyo 5 NewYork 6 Seoul
(integer) 6
127.0.0.1:6379> zrange mycity 0 -1
1) "Beijing"
2) "London"
3) "Paris"
4) "Tokyo"
5) "NewYork"
6) "Seoul"
127.0.0.1:6379> zrangebylex  mycity - +
1) "Beijing"
2) "London"
3) "Paris"
4) "Tokyo"
5) "NewYork"
6) "Seoul"
127.0.0.1:6379> zrangebylex  mycity "[London" +
1) "London"
2) "Paris"
3) "Tokyo"
4) "NewYork"
5) "Seoul"
127.0.0.1:6379> zrangebylex  mycity "(London" +
1) "Paris"
2) "Tokyo"
3) "NewYork"
4) "Seoul"
127.0.0.1:6379> zrangebylex  mycity "(London" "(Seoul"
1) "Paris" 

示例:Redis zrangebylex :使用限制偏移计数

127.0.0.1:6379> zadd mycity 1 Beijing 2 London 3 Paris 4 Tokyo 5 NewYork 6 Seoul
(integer) 6
127.0.0.1:6379> zrange mycity 0 -1
1) "Beijing"
2) "London"
3) "Paris"
4) "Tokyo"
5) "NewYork"
6) "Seoul"
127.0.0.1:6379> zrangebylex  mycity - + LIMIT 0 2
1) "Beijing"
2) "London"
127.0.0.1:6379> zrangebylex  mycity - + LIMIT 2 3
1) "Paris"
2) "Tokyo"
3) "NewYork"