Introduction
Dans ce labo, vous explorerez les opérations fondamentales des ensembles triés (Sorted Set) Redis. Vous commencerez par vous connecter au serveur Redis et utiliserez la commande ZADD pour ajouter des éléments avec des scores associés à un ensemble trié. Cela comprend l'ajout de nouveaux éléments, la mise à jour des scores des éléments existants et la compréhension de la sortie de la commande.
Ensuite, vous apprendrez à récupérer une plage d'éléments de l'ensemble trié par leur index à l'aide de la commande ZRANGE, à obtenir le rang d'un élément avec ZRANK, à incrémenter le score d'un élément à l'aide de ZINCRBY, et enfin, à supprimer des éléments de l'ensemble trié avec ZREM.
Ajouter des éléments avec des scores en utilisant ZADD
Dans cette étape, vous apprendrez à ajouter des éléments avec des scores à un ensemble trié (Sorted Set) Redis en utilisant la commande ZADD. Les ensembles triés sont une structure de données qui stocke des éléments associés à un score. Les éléments sont ordonnés par leurs scores, ce qui vous permet de les récupérer de manière triée.
Tout d'abord, connectons-nous au serveur Redis. Ouvrez un terminal dans la VM LabEx. Vous devriez déjà être dans le répertoire ~/project. Maintenant, connectez-vous au serveur Redis en utilisant la commande redis-cli :
redis-cli
Vous devriez voir l'invite Redis : 127.0.0.1:6379>.
Maintenant, ajoutons quelques éléments avec des scores à un ensemble trié nommé my_zset. La commande ZADD a la syntaxe suivante :
ZADD key score member [score member ...]
Où :
keyest le nom de l'ensemble trié (Sorted Set).scoreest le score associé à l'élément.memberest l'élément à ajouter.
Ajoutons trois éléments à my_zset : "apple" avec un score de 1, "banana" avec un score de 2, et "cherry" avec un score de 3.
ZADD my_zset 1 apple 2 banana 3 cherry
Vous devriez voir la sortie suivante :
(integer) 3
Cela indique que trois éléments ont été ajoutés à l'ensemble trié.
Il est important de quitter l'interface de ligne de commande (CLI) Redis après cette étape pour garantir que les commandes sont correctement enregistrées. Pour quitter, tapez :
exit
Ajouter d'autres éléments et mettre à jour le score avec ZADD
Dans cette étape, nous allons continuer à ajouter des éléments à l'ensemble trié my_zset et à mettre à jour le score d'un élément existant.
Tout d'abord, connectez-vous à nouveau au serveur Redis :
redis-cli
Maintenant, ajoutons un autre élément, "date" avec un score de 2.5 :
ZADD my_zset 2.5 date
Vous devriez voir la sortie suivante :
(integer) 1
Cela indique qu'un élément a été ajouté à l'ensemble trié.
Vous pouvez également mettre à jour le score d'un élément existant en utilisant ZADD. Mettons à jour le score de "apple" à 1.5 :
ZADD my_zset 1.5 apple
Vous devriez voir la sortie suivante :
(integer) 0
Cela indique qu'aucun nouvel élément n'a été ajouté (car "apple" existait déjà), mais le score de "apple" a été mis à jour.
N'oubliez pas de quitter l'interface de ligne de commande (CLI) Redis :
exit
Récupérer une plage par index avec ZRANGE
Maintenant que nous avons rempli notre ensemble trié my_zset (Sorted Set), apprenons à récupérer des éléments dans une plage spécifique en utilisant la commande ZRANGE.
Connectez-vous au serveur Redis :
redis-cli
La commande ZRANGE récupère les éléments d'un ensemble trié (Sorted Set) dans une plage d'indices spécifiée. La syntaxe est la suivante :
ZRANGE key start stop [WITHSCORES]
Où :
keyest le nom de l'ensemble trié (Sorted Set).startest l'indice de début (inclus).stopest l'indice de fin (inclus).WITHSCORES(optionnel) inclut les scores des éléments dans la sortie.
Pour récupérer les trois premiers éléments (index 0 à 2) de my_zset, utilisez la commande suivante :
ZRANGE my_zset 0 2
Vous devriez voir la sortie suivante, représentant les éléments triés par leurs scores :
1) "apple"
2) "banana"
3) "date"
Pour récupérer les éléments avec leurs scores, utilisez l'option WITHSCORES :
ZRANGE my_zset 0 2 WITHSCORES
Vous devriez voir la sortie suivante :
1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"
Quittez l'interface de ligne de commande (CLI) Redis :
exit
Obtenir le rang d'un élément avec ZRANK
Dans cette étape, vous apprendrez à déterminer le rang d'un élément dans un ensemble trié (Sorted Set) en utilisant la commande ZRANK. Le rang représente la position de l'élément dans l'ordre trié (en commençant à 0 pour le score le plus bas).
Connectez-vous au serveur Redis :
redis-cli
La commande ZRANK a la syntaxe suivante :
ZRANK key member
Où :
keyest le nom de l'ensemble trié (Sorted Set).memberest l'élément dont vous souhaitez trouver le rang.
Pour trouver le rang de "banana" dans my_zset, utilisez la commande suivante :
ZRANK my_zset banana
Vous devriez voir la sortie suivante :
(integer) 1
Cela indique que "banana" est au rang 1 dans l'ensemble trié (Sorted Set).
Quittez l'interface de ligne de commande (CLI) Redis :
exit
Incrémenter le score avec ZINCRBY et supprimer des éléments avec ZREM
Dans cette dernière étape, vous apprendrez à incrémenter le score d'un élément en utilisant ZINCRBY et à supprimer des éléments en utilisant ZREM.
Connectez-vous au serveur Redis :
redis-cli
La commande ZINCRBY incrémente le score d'un membre dans un ensemble trié (Sorted Set). La syntaxe est la suivante :
ZINCRBY key increment member
Où :
keyest le nom de l'ensemble trié (Sorted Set).incrementest la valeur dont il faut incrémenter le score.memberest l'élément dont vous souhaitez incrémenter le score.
Incrémentons le score de "banana" de 0.5 :
ZINCRBY my_zset 0.5 banana
Vous devriez voir la sortie suivante :
"2.5"
Cela indique que le nouveau score de "banana" est 2.5.
La commande ZREM supprime un membre d'un ensemble trié (Sorted Set). La syntaxe est la suivante :
ZREM key member [member ...]
Où :
keyest le nom de l'ensemble trié (Sorted Set).memberest l'élément que vous souhaitez supprimer.
Supprimons "banana" de my_zset :
ZREM my_zset banana
Vous devriez voir la sortie suivante :
(integer) 1
Cela indique qu'un élément a été supprimé.
Quittez l'interface de ligne de commande (CLI) Redis :
exit
Résumé
Dans ce labo, vous avez appris à utiliser les opérations fondamentales des ensembles triés (Sorted Set) de Redis. Vous avez utilisé ZADD pour ajouter des éléments avec des scores, ZRANGE pour récupérer des plages d'éléments, ZRANK pour obtenir le rang d'un élément, ZINCRBY pour incrémenter les scores et ZREM pour supprimer des éléments. Vous disposez désormais d'une base solide pour gérer efficacement les ensembles triés (Sorted Sets) dans Redis.


