Redis ZRANK命令

Redis ZRANK命令教程

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

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

Redis ZRANK命令详解

语法

192.168.98.70:6379> ZRANK 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> ZRANK haicoder Redis (nil)

我们首先,使用 EXISTS 命令,判断键为 haicoder 的集合不存在。最后,我们使用 ZRANK 命令,获取不存在的集合中的 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> 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命令总结

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

192.168.98.70:6379> ZRANK KEY member