Opérations sur les ensembles triés Redis (Sorted Sets)

RedisRedisBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/remove_key("Delete Single Key") redis/RedisGroup -.-> redis/increment_int("Increase Integer Value") redis/RedisGroup -.-> redis/fetch_range("Get List Range") subgraph Lab Skills redis/access_cli -.-> lab-552105{{"Opérations sur les ensembles triés Redis (Sorted Sets)"}} redis/remove_key -.-> lab-552105{{"Opérations sur les ensembles triés Redis (Sorted Sets)"}} redis/increment_int -.-> lab-552105{{"Opérations sur les ensembles triés Redis (Sorted Sets)"}} redis/fetch_range -.-> lab-552105{{"Opérations sur les ensembles triés Redis (Sorted Sets)"}} end

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ù :

  • key est le nom de l'ensemble trié (Sorted Set).
  • score est le score associé à l'élément.
  • member est 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 plus d'é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ù :

  • key est le nom de l'ensemble trié (Sorted Set).
  • start est l'indice de début (inclus).
  • stop est 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ù :

  • key est le nom de l'ensemble trié (Sorted Set).
  • member est 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ù :

  • key est le nom de l'ensemble trié (Sorted Set).
  • increment est la valeur dont il faut incrémenter le score.
  • member est 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ù :

  • key est le nom de l'ensemble trié (Sorted Set).
  • member est 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.