Redis Zrangebyscore 返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。
具有相同分数值的成员按字典序来排列(该属性是有序集提供的,不需要额外的计算)。
默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。
可选的LIMIT参数指定返回结果的数量及区间(类似SQL中SELECT LIMIT offset, count)。注意,如果offset太大,定位offset就可能遍历整个有序集合,这会增加O(N)的复杂度。
可选参数WITHSCORES会返回元素和其分数,而不只是元素。这个选项在redis2.0之后的版本都可用。
##区间及无限
min和max可以是-inf和+inf,这样一来,你就可以在不知道有序集的最低和最高score值的情况下,使用ZRANGEBYSCORE这类命令。
默认情况下,区间的取值使用闭区间(小于等于或大于等于),你也可以通过给参数前增加(符号来使用可选的开区间(小于或大于)。
*返回值
数组: 指定分数范围的元素列表(也可以返回他们的分数)。
*例子
redis>
ZADD myzset 1 "one"
(integer) 1redis> ZADD myzset 2 "two"
(integer) 1redis> ZADD myzset 3 "three"
(integer) 1redis> ZREVRANGEBYSCORE myzset +inf -inf
1) "three" 2) "two" 3) "one"redis> ZREVRANGEBYSCORE myzset 2 1
1) "two" 2) "one"redis> ZREVRANGEBYSCORE myzset 2 (1
1) "two"redis> ZREVRANGEBYSCORE myzset (2 (1
(empty list or set)