Redis ZREVRANK命令

Redis ZREVRANK命令教程

RedisZREVRANK 命令用于返回 有序集 KEY 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)顺序排列。

排名以 0 为底,也就是说, score 值最大的成员排名为 0 。使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。

Redis ZREVRANK命令详解

语法

192.168.98.70:6379> ZREVRANK KEY member

参数

参数 描述
KEY 有序集合的键。
member 要获取排名的成员。

返回值

如果 member 是有序集 KEY 的成员,返回 member 的排名。如果 member 不是有序集 KEY 的成员,返回 nil 。

时间复杂度

O(log(N))

可用版本

>= 2.0.0

案例

KEY不存在

KEY 不存在,返回 nil

192.168.98.70:6379> EXISTS haicoder (integer) 0 192.168.98.70:6379> ZREVRANK haicoder Redis (nil)

我们首先,使用 EXISTS 命令,判断键为 haicoder 的集合不存在。最后,我们使用 ZREVRANK 命令,获取不存在的集合中的 Redis 元素的排名,返回 nil。

KEY存在

KEY 存在,返回指定元素的排名,第一个元素的排名为 0

192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZREVRANGE haicoder 0 -1 WITHSCORES 1) "Mysql" 2) "200" 3) "Redis" 4) "100" 5) "Mongo" 6) "50" 7) "SqlServer" 8) "10" 192.168.98.70:6379> ZREVRANK haicoder Mysql (integer) 0 192.168.98.70:6379> ZREVRANK haicoder SqlServer (integer) 3 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 ZADD 命令,同时向键为 haicoder 的集合插入元素 Redis,分数为 100,元素 Mongo,分数为 50,元素 Mysql,分数为 200,元素 SqlServer,分数为 10。

接着,我们使用 ZREVRANK 命令,获取键为 haicoder 的集合中的 Mysql 元素的排名,第一个元素的排名为 0。最后,我们使用 ZREVRANK 命令,获取键为 haicoder 的集合中的 SqlServer 元素的排名。

Redis ZREVRANK命令教程

Redis 的 ZREVRANK 命令用于返回有序集 KEY 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)顺序排列。Redis ZREVRANK 命令语法:

192.168.98.70:6379> ZREVRANK KEY member