Redis 的 ZRANK 命令用于返回 有序集 KEY 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。
排名以 0 为底,也就是说, score 值最小的成员排名为 0 。使用 ZREVRANK 命令可以获得成员按 score 值递减(从大到小)排列的排名。
192.168.98.70:6379> ZRANK KEY member
参数 | 描述 |
---|---|
KEY | 有序集合的键。 |
member | 要获取排名的成员。 |
如果 member 是有序集 KEY 的成员,返回 member 的排名。如果 member 不是有序集 KEY 的成员,返回 nil 。
O(log(N))
>= 2.0.0
KEY 不存在,返回 nil
192.168.98.70:6379> EXISTS haicoder (integer) 0 192.168.98.70:6379> ZRANK haicoder Redis (nil)
我们首先,使用 EXISTS 命令,判断键为 haicoder 的集合不存在。最后,我们使用 ZRANK 命令,获取不存在的集合中的 Redis 元素的排名,返回 nil。
KEY 存在,返回指定元素的排名,第一个元素的排名为 0
192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZRANGE haicoder 0 -1 WITHSCORES 1) "SqlServer" 2) "10" 3) "Mongo" 4) "50" 5) "Redis" 6) "100" 7) "Mysql" 8) "200" 192.168.98.70:6379> ZRANK haicoder SqlServer (integer) 0 192.168.98.70:6379> ZRANK haicoder Redis (integer) 2 192.168.98.70:6379> DEL haicoder (integer) 1
我们首先,使用 ZADD 命令,同时向键为 haicoder 的集合插入元素 Redis,分数为 100,元素 Mongo,分数为 50,元素 Mysql,分数为 200,元素 SqlServer,分数为 10。
接着,我们使用 ZRANK 命令,获取键为 haicoder 的集合中的 SqlServer 元素的排名,第一个元素的排名为 0。最后,我们使用 ZRANK 命令,获取键为 haicoder 的集合中的 Redis 元素的排名。
Redis 的 ZRANK 命令用于返回有序集 KEY 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。Redis ZRANK 命令语法:
192.168.98.70:6379> ZRANK KEY member