2010-12-01 8 views
0

ZRANK gibt den Rang des Elements in der sortierten Menge mit von Low nach High sortierten Scores zurück. ZREVRANK gibt den Rang zurück, wobei die Punktzahl von hoch nach niedrig lautet. Wenn das angegebene Element in der sortierten Menge nicht vorhanden ist, wird der spezielle Wert 'nil' zurückgegeben. Der zurückgegebene Rang (oder Index) des Elements ist für beide Befehle 0-basiert.über den Befehl zrank in redis

was ist das 'mit Noten von niedrig bis hoch bestellt. ZREVRANK gibt den Rang mit von "hoch" nach "niedrig" sortierten Werten zurück. in meinem Kopf, der ZRANK wird die Punktzahl des Mitglieds erhalten. warum sagte der Pharse von niedrig zu hoch?

Antwort

1

Die wichtige Sache hier ist, dass ZRANK den Zero-basierten Index des Mitglieds zurückgibt, nicht seine Punktzahl überhaupt. Daher sind "von niedrig nach hoch geordnete Werte" oder "von hoch nach niedrig geordnete Werte" lediglich eine Referenz dafür, in welche "Richtung" der sortierte Satz gelesen wird.

Bedenken Sie:

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 

Beachten Sie, dass der Rang von c 2 ist, wenn von „Noten niedrig bis hoch“ gelesen werden, aber es ist revrank 0 ist, wenn sie von „Scores hoch zu niedrig“ gelesen werden

0

Die Befehle sind sehr ähnlich, wobei "REV" für "reversed" steht.

Verwandte Themen