1.ZREVRANGE
ZREVRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
除了成员按 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))
返回值:
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>