Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis ZREVRANGEBYSCORE 命令

Redis 有序集合 Redis 有序集合


ZREVRANGEBYSCORE 命令返回有序集合 key 中,所有 score 值介于 max 和 min 之间(包括等于 min 和 max)的成员。有序集合成员按 score 值递减(从大到小)次序排列。

命令格式

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

ZREVRANGEBYSCORE 命令类似于 ZRANGEBYSCORE 命令

可用版本:>=2.2.0

时间复杂度:O(log(N)+M),N 为有序集合的基数(成员个数),M 为指定的返回条数。

参数说明

max:分数排序位置较大的成员。

min:分数排序位置较小的成员。

WITHSCORES:该参数将有序集成员及其 score 值一起返回。该选项自 Redis 2.0 版本起可用

LIMIT:返回结果是否分页,指令中包含 LIMIT 后 offset、count 必须输入。注意当 offset 很大时,定位 offset 的操作可能需要遍历整个有序集,此过程最坏复杂度为 O(N) 时间。

offset:返回结果起始位置。

count:返回结果数量。

命令返回值

返回指定区间内,带有 score 值(可选项)的有序集成员的列表。

示例

redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> 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)