2010-12-01 28 views
0

ZRANKはソートされたセットのメンバのランクを返します。のスコアは低い順に並べられます。 ZREVRANKは、高い順に並べられた得点を持つランクを返す。指定されたメンバがソートされたセットに存在しない場合、特別な値 'nil'が返されます。両方のコマンドでメンバーの返されたランク(またはインデックス)は0ベースです。redisのzrankコマンドについて

「低い」から「高い」の順にスコアを付けたものは何ですか? ZREVRANKは、高い順に並んだスコアを持つランクを返します。私の考えでは、 ザンクがメンバーの得点を得るでしょう。なぜ低価格から高価格への注文は難しいのですか?

答えて

1

ここで重要なことは、ZRANKはメンバーのゼロベースのインデックスを返します。スコアはまったくではありません。したがって、「低い順に並んだスコア」または「高い順に並んだ順にスコアを並べ替える」とは、ソートされたセットがどの方向に読み込まれているかについての参照を提供することだけです。

この考えてみましょう:「低へのハイスコア」

から読み出し時は「ローからハイスコア」から読み込まれますが、それはrevrankですされているとき、Cのランクが2であることを

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 

注意が0に

0

"REV"は "reversed"のコマンドとほぼ同じです。

関連する問題