Question
ZRANK retourne le rang de membre dans l'ensemble trié, avec des scores commandés de bas en haut. ZREVRANK renvoie le rang avec des scores commandés de haut en bas . Lorsque le membre donné n'existe pas dans le jeu triée, la valeur spéciale « néant » est retourné. Le rang de retour (ou index) de l'élément est à base 0 pour les deux commandes.
ce que fait le « avec des scores commandés de bas en haut. ZREVRANK renvoie le rang avec des scores commandés de haut en bas » qui signifie? dans mon esprit, le ZRANK obtiendra le score du membre. pourquoi le pharse dit orderd de bas en haut?
La solution
La chose importante est que ZRANK retourne l'index de base zéro du membre, pas de partition du tout. Ainsi, « les scores commandés de bas en haut » ou « scores commandés de haut en bas » est juste de fournir une référence pour ce « direction » l'ensemble est triée en cours de lecture.
Considérez ceci:
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
Notez que le rang de c est 2 moment de la lecture de « scores bas à élevé », mais il est revrank est 0 moment de la lecture de « scores élevé au plus bas »
Autres conseils
Les commandes sont sensiblement les mêmes, avec le « REV » pour être « inversé ».