Redis zrank

Redis zrank
Les ensembles triés redis peuvent contenir une collection de chaînes où chacun est appelé membre de jeu. Chaque membre est associé à une valeur de rang et de score. Le rang est l'indice d'un membre particulier dans l'ensemble trié stocké à une clé donnée. La valeur du score est utilisée pour commander les membres définis de la valeur de score la plus basse au plus haut. Par conséquent, un membre avec la valeur de score la plus basse sera attribué à un indice de 0. Ces propriétés permettent aux ensembles triés de faire beaucoup plus de tâches avec des performances élevées.

Diverses commandes sont disponibles pour fonctionner sur des ensembles triés. Parfois, vous devez connaître l'indice ou le rang d'un membre dans l'ensemble trié Redis stocké à une clé donnée. Le Zrank est la commande idéale à utiliser, qui sera discutée dans la section suivante.

La commande zrank

Maintenant, vous avez une idée de la façon dont la valeur d'index a été affectée à chaque membre dans un ensemble trié. La commande Zrank obtient le rang d'un membre spécifié avec une complexité de temps linéaire. Ce qui suit est la syntaxe de la commande zrank:

Membre zrank trid_set_key

trié_set_key: La clé de l'ensemble trié auquel appartient le membre.

membre: Le nom du membre dont vous avez besoin pour obtenir le rang.

Cette commande renvoie le rang ou l'indice du membre spécifié comme une valeur entière si le membre existe dans l'ensemble trié. Chaque fois que le membre spécifié ou la touche de set triée n'existe pas, la commande zrank renvoie une valeur de chaîne néant.

Cas 01: Obtenez la position de classement du jeu d'un joueur

Supposons que nous avons mis en œuvre un classement de jeu en ligne à l'aide de l'ensemble trié Redis. Maintenant, nous afficherons le rang de chaque joueur lorsqu'ils se connectent à son profil utilisateur.

Tout d'abord, créons un classement factice, En lignegamederderboard, et ajouter des joueurs à lui en utilisant la commande zadd.

ZADD OnlinegameDeaderboard 3000 "Jack" 1200 "Mary" 1000 "Rikaz" 5000 "Noel"

Ensuite, nous appellerons la commande ZRange pour vérifier si les membres ont été ajoutés correctement.

Zrange OnlineGameLeaderboard 0 10 With Scores

Sortir:

Comme prévu, les membres ont été triés par ordre croissant par leurs valeurs de score. Disons que nous devons obtenir des rangs de chacun de ces membres. Le zrank peut être utilisé comme suit:

Zrank Onlinegameleaderboard Rikaz
Zrank Onlinegameleaderboard Mary
Zrank Onlinegameleaderboard Jack
Zrank Onlinegameleaderboard Noel

Sortir:

Comme prévu, le rang est revenu pour chaque membre où le membre «Rikaz» a le rang le plus bas de 0. De plus, le membre «Noel» a obtenu le rang le plus élevé de 3.

Vérifions comment la commande se comporte si vous spécifiez un membre inexistant dans la commande suivante:

Zrank Onlinegameleaderboard Martin

Le membre que nous avons spécifié n'est pas dans l'ensemble trié. Par conséquent, il a renvoyé la chaîne néant.

Ensuite, nous vérifierons la commande suivante pour la clé inexistante:

Zrank non existant Martin

La valeur de retour est à nouveau nulle.

La commande Zrank ne prend pas en charge plusieurs membres comme arguments. Par conséquent, si vous fournissez plusieurs membres, il lancera une erreur. La commande Zrank est recommandée d'utiliser lorsque vous devez obtenir la valeur d'index d'un membre SET trié.

En bref, les ensembles triés redis peuvent contenir des valeurs de chaîne appelées membres. Chacun de ces membres est associé à deux propriétés: score et rang. Comme discuté, le rang est basé sur 0 et incrémenté d'un par membre. Habituellement, les membres de l'ensemble de redis ont été commandés par leurs scores dans l'ordre croissant. Par conséquent, le membre avec le score le plus bas sera attribué au 0ème indice.

Conclusion

Cet article a expliqué comment la commande Zrank vous permet d'obtenir cette valeur d'index pour un membre donné dans l'ensemble trié stocké à une clé donnée. Il est important de noter que la commande Zrank fonctionne avec une complexité de temps linéaire.