Redis教程12-有序集合(sorted set)常用命令使用参考3

1.ZREVRANGE

ZREVRANGE key start stop [WITHSCORES]

返回有序集 key 中,指定区间内的成员。

其中成员的位置按 score 值递减(从大到小)来排列。
具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。

除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和 ZRANGE 命令一样。

可用版本:>= 1.2.0

时间复杂度:O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。

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

127.0.0.1:6379> zadd names 1 tom 2 jerry 3 zhangsan 4 lisi 5 wangu
(integer) 5
127.0.0.1:6379> zrange names 0 -1 withscores    // 默认, 递增排列
 1) "tom"
 2) "1"
 3) "jerry"
 4) "2"
 5) "zhangsan"
 6) "3"
 7) "lisi"
 8) "4"
 9) "wangu"
10) "5"
127.0.0.1:6379> zrevrange names 0 -1 withscores    // 递减排列
 1) "wangu"
 2) "5"
 3) "lisi"
 4) "4"
 5) "zhangsan"
 6) "3"
 7) "jerry"
 8) "2"
 9) "tom"
10) "1"
127.0.0.1:6379>

2.ZREVRANGEBYSCORE

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

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

具有相同 score 值的成员按字典序的逆序(reverse lexicographical order )排列。

除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样。

可用版本:>= 2.2.0

时间复杂度:O(log(N)+M), N 为有序集的基数, M 为结果集的基数。

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

127.0.0.1:6379> zrevrangebyscore names +inf -inf withscores    // 逆序排列所有成员
 1) "wangu"
 2) "5"
 3) "lisi"
 4) "4"
 5) "zhangsan"
 6) "3"
 7) "jerry"
 8) "2"
 9) "tom"
10) "1"
127.0.0.1:6379> zrevrangebyscore names 4 2 withscores    // 逆序排列4>=score>=2的成员
1) "lisi"
2) "4"
3) "zhangsan"
4) "3"
5) "jerry"
6) "2"
127.0.0.1:6379>

3.ZREVRANK

ZREVRANK key member

返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。

排名以 0 为底,也就是说, score 值最大的成员排名为 0 。

使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。

可用版本:>= 2.0.0

时间复杂度:O(log(N))

返回值:

如果 member 是有序集 key 的成员,返回 member 的排名。
如果 member 不是有序集 key 的成员,返回 nil 。
127.0.0.1:6379> zrange names 0 -1
1) "tom"
2) "jerry"
3) "zhangsan"
4) "lisi"
5) "wangu"
127.0.0.1:6379> zrank names wangu
(integer) 4
127.0.0.1:6379> zrank names tom
(integer) 0
127.0.0.1:6379> zrevrank names wangu
(integer) 0
127.0.0.1:6379> zrevrank names tom
(integer) 4
127.0.0.1:6379>

4.ZSCORE

ZSCORE key member

返回有序集 key 中,成员 member 的 score 值。

如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。

可用版本:>= 1.2.0

时间复杂度:O(1)

返回值:member 成员的 score 值,以字符串形式表示。

127.0.0.1:6379> zrange names 0 -1 withscores
 1) "tom"
 2) "1"
 3) "jerry"
 4) "2"
 5) "zhangsan"
 6) "3"
 7) "lisi"
 8) "4"
 9) "wangu"
10) "5"
127.0.0.1:6379> zscore names zhangsan
"3"
127.0.0.1:6379> zscore names lisi
"4"
127.0.0.1:6379>
原文地址:https://www.cnblogs.com/no-celery/p/13716656.html