2010-12-01 75 views
0

ZRANK返回排序集中成員的排名,,分數從低到高排序。 ZREVRANK返回排名,排名從高到低排序爲。當給定成員不存在於有序集合中時,返回特殊值'nil'。兩個命令的成員返回的排名(或索引)都是基於0的。關於redis中的zrank命令

'分數從低到高排列的是什麼? ZREVRANK返回排名從高到低排序的分數'的含義?在我看來, ZRANK將獲得該成員的分數。爲什麼pharse說從低到高排列?

回答

1

這裏最重要的是,ZRANK返回成員的從零開始的索引,而不是它的得分在所有。因此,「從低到高排列的分數」或「從高到低排列的分數」僅用於爲正在閱讀排序集的「方向」提供參考。

考慮一下:

redis> zadd foo 0 a 
(integer) 1 
redis> zadd foo 1 b 
(integer) 1 
redis> zadd foo 2 c 
(integer) 1 
redis> zrank foo c 
(integer) 2 
redis> zrevrank foo c 
(integer) 0 

注意,C的等級是2時,從「分數低到高」被讀取,但它revrank是0,從「分數高後低」被讀出時

0

的命令是大致相同的,與「REV」是的「逆轉」。