Opérations sur les ensembles Redis

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 sur les ensembles Redis, en vous concentrant sur la manipulation de collections non ordonnées de chaînes uniques. Vous apprendrez comment ajouter des éléments à un ensemble en utilisant la commande SADD, effectuer des unions d'ensembles avec SUNION, trouver des éléments communs en utilisant SINTER, et identifier les différences entre les ensembles avec SDIFF. Enfin, vous apprendrez comment stocker les résultats des opérations sur les ensembles pour une utilisation ultérieure.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/insert_set("Add Set Element") redis/RedisGroup -.-> redis/verify_set("Check Set Membership") redis/RedisGroup -.-> redis/view_set("List Set Members") subgraph Lab Skills redis/access_cli -.-> lab-552104{{"Opérations sur les ensembles Redis"}} redis/insert_set -.-> lab-552104{{"Opérations sur les ensembles Redis"}} redis/verify_set -.-> lab-552104{{"Opérations sur les ensembles Redis"}} redis/view_set -.-> lab-552104{{"Opérations sur les ensembles Redis"}} end

Add Elements to a Set with SADD

Dans cette étape, vous apprendrez comment ajouter des éléments à un ensemble Redis en utilisant la commande SADD. Les ensembles (sets) dans Redis sont des collections non ordonnées de chaînes uniques. Cela signifie que chaque élément d'un ensemble doit être unique, et l'ordre dans lequel les éléments sont ajoutés à l'ensemble n'est pas conservé.

La commande SADD ajoute un ou plusieurs membres à un ensemble. Si le membre spécifié est déjà membre de l'ensemble, il est ignoré. Si l'ensemble n'existe pas, un nouvel ensemble est créé avec le(s) membre(s) spécifié(s).

Commençons par nous connecter au serveur Redis. Ouvrez votre terminal et exécutez la commande suivante :

redis-cli

Cette commande ouvrira l'interface de ligne de commande Redis (Redis command-line interface).

Maintenant, ajoutons quelques éléments à un ensemble nommé my_set. Exécutez la commande suivante :

SADD my_set "apple" "banana" "cherry"

Cette commande ajoutera les chaînes "apple", "banana" et "cherry" à l'ensemble my_set. La sortie sera un entier représentant le nombre d'éléments qui ont été ajoutés avec succès à l'ensemble. Dans ce cas, la sortie devrait être 3.

(integer) 3

Maintenant, essayons d'ajouter un élément qui existe déjà dans l'ensemble. Exécutez la commande suivante :

SADD my_set "apple"

Cette commande tentera d'ajouter la chaîne "apple" à l'ensemble my_set. Cependant, comme "apple" est déjà membre de l'ensemble, elle sera ignorée. La sortie sera 0, indiquant qu'aucun nouvel élément n'a été ajouté.

(integer) 0

Pour vérifier que les éléments ont été ajoutés à l'ensemble, vous pouvez utiliser la commande SMEMBERS. Exécutez la commande suivante :

SMEMBERS my_set

Cette commande renverra une liste de tous les membres de l'ensemble my_set. La sortie devrait être :

1) "cherry"
2) "banana"
3) "apple"

Notez que l'ordre des éléments dans la sortie peut être différent de l'ordre dans lequel ils ont été ajoutés. En effet, les ensembles sont des collections non ordonnées.

Enfin, quittez l'interface de ligne de commande Redis (Redis CLI) :

exit

Il est important de quitter redis-cli afin que vos commandes soient enregistrées.

Vous avez maintenant ajouté avec succès des éléments à un ensemble Redis en utilisant la commande SADD. Il s'agit d'une opération fondamentale pour travailler avec des ensembles dans Redis, et elle sera utilisée dans les étapes suivantes pour effectuer des opérations plus complexes.

Compute Union with SUNION

Dans cette étape, vous apprendrez comment calculer l'union de plusieurs ensembles Redis en utilisant la commande SUNION. L'union d'ensembles est un nouvel ensemble contenant tous les éléments uniques présents dans l'un des ensembles d'origine.

Tout d'abord, ajoutons quelques éléments à un nouvel ensemble nommé my_set2. Connectez-vous au serveur Redis en utilisant :

redis-cli

Maintenant, ajoutez des éléments à my_set2 :

SADD my_set2 "banana" "grape" "orange"

Cette commande ajoute "banana", "grape" et "orange" à my_set2. La sortie devrait être 3.

(integer) 3

Maintenant que nous avons deux ensembles, my_set (contenant "apple", "banana", "cherry") et my_set2 (contenant "banana", "grape", "orange"), nous pouvons calculer leur union en utilisant la commande SUNION. Exécutez la commande suivante :

SUNION my_set my_set2

Cette commande renverra l'union de my_set et my_set2. La sortie sera une liste de tous les éléments uniques présents dans l'un ou l'autre ensemble :

1) "orange"
2) "grape"
3) "apple"
4) "banana"
5) "cherry"

Notez que "banana" n'apparaît qu'une seule fois dans le résultat, même s'il est présent à la fois dans my_set et my_set2. En effet, les ensembles ne contiennent que des éléments uniques. L'ordre des éléments dans le résultat n'est pas garanti.

Enfin, quittez l'interface de ligne de commande Redis (Redis CLI) :

exit

La commande SUNION renvoie l'union des ensembles directement au client. Si vous souhaitez stocker le résultat dans un nouvel ensemble, vous pouvez utiliser la commande SUNIONSTORE, qui n'est pas traitée dans ce labo.

Dans cette étape, vous avez appris comment calculer l'union de plusieurs ensembles Redis en utilisant la commande SUNION. Il s'agit d'une opération utile pour combiner des données provenant de plusieurs ensembles en un seul ensemble.

Compute Intersection with SINTER

Dans cette étape, vous apprendrez comment calculer l'intersection de plusieurs ensembles Redis en utilisant la commande SINTER. L'intersection d'ensembles est un nouvel ensemble contenant uniquement les éléments qui sont présents dans tous les ensembles d'origine.

Connectez-vous au serveur Redis en utilisant :

redis-cli

Nous avons déjà deux ensembles, my_set (contenant "apple", "banana", "cherry") et my_set2 (contenant "banana", "grape", "orange"). Calculons leur intersection en utilisant la commande SINTER. Exécutez la commande suivante :

SINTER my_set my_set2

Cette commande renverra l'intersection de my_set et my_set2. La sortie sera une liste de tous les éléments qui sont présents dans les deux ensembles :

1) "banana"

Notez que seul "banana" est présent à la fois dans my_set et my_set2. Par conséquent, l'intersection des deux ensembles est un ensemble contenant uniquement "banana".

Ajoutons un troisième ensemble nommé my_set3 et ajoutons "banana" et "apple" à celui-ci.

SADD my_set3 "banana" "apple"

La sortie devrait être 2.

(integer) 2

Maintenant, calculons l'intersection de my_set, my_set2 et my_set3. Exécutez la commande suivante :

SINTER my_set my_set2 my_set3

Cette commande renverra l'intersection des trois ensembles. La sortie sera :

1) "banana"

Seul "banana" est présent dans les trois ensembles.

Enfin, quittez l'interface de ligne de commande Redis (Redis CLI) :

exit

La commande SINTER renvoie l'intersection des ensembles directement au client. Si vous souhaitez stocker le résultat dans un nouvel ensemble, vous pouvez utiliser la commande SINTERSTORE, que vous découvrirez plus tard.

Dans cette étape, vous avez appris comment calculer l'intersection de plusieurs ensembles Redis en utilisant la commande SINTER. Il s'agit d'une opération utile pour trouver des éléments communs entre plusieurs ensembles.

Compute Difference with SDIFF

Dans cette étape, vous apprendrez comment calculer la différence entre des ensembles Redis en utilisant la commande SDIFF. La différence entre des ensembles est un nouvel ensemble contenant uniquement les éléments qui sont présents dans le premier ensemble, mais pas dans les ensembles suivants.

Connectez-vous au serveur Redis en utilisant :

redis-cli

Nous avons trois ensembles : my_set (contenant "apple", "banana", "cherry"), my_set2 (contenant "banana", "grape", "orange") et my_set3 (contenant "banana", "apple"). Calculons la différence entre my_set et my_set2 en utilisant la commande SDIFF. Exécutez la commande suivante :

SDIFF my_set my_set2

Cette commande renverra la différence entre my_set et my_set2. La sortie sera une liste de tous les éléments qui sont présents dans my_set mais pas dans my_set2 :

1) "apple"
2) "cherry"

"apple" et "cherry" sont dans my_set mais pas dans my_set2. "banana" est dans les deux ensembles, il n'est donc pas inclus dans le résultat.

Maintenant, calculons la différence entre my_set et à la fois my_set2 et my_set3. Exécutez la commande suivante :

SDIFF my_set my_set2 my_set3

Cette commande renverra la différence entre my_set et l'union de my_set2 et my_set3. La sortie sera :

1) "cherry"

"apple" est dans my_set mais aussi dans my_set3, il est donc exclu. "banana" est dans my_set mais aussi dans my_set2 et my_set3, il est donc exclu. Seul "cherry" est exclusivement dans my_set.

Enfin, quittez l'interface de ligne de commande Redis (Redis CLI) :

exit

La commande SDIFF renvoie la différence des ensembles directement au client. Si vous souhaitez stocker le résultat dans un nouvel ensemble, vous pouvez utiliser la commande SDIFFSTORE (non traitée dans ce labo).

Dans cette étape, vous avez appris comment calculer la différence entre des ensembles Redis en utilisant la commande SDIFF. Il s'agit d'une opération utile pour trouver des éléments qui sont uniques à un ensemble particulier.

Store Results with SINTERSTORE

Dans cette étape, vous apprendrez comment stocker le résultat d'une opération d'intersection dans un nouvel ensemble en utilisant la commande SINTERSTORE. Ceci est utile lorsque vous souhaitez effectuer d'autres opérations sur l'intersection d'ensembles sans la recalculer à chaque fois.

Connectez-vous au serveur Redis en utilisant :

redis-cli

Nous avons trois ensembles : my_set (contenant "apple", "banana", "cherry"), my_set2 (contenant "banana", "grape", "orange") et my_set3 (contenant "banana", "apple"). Dans l'étape précédente, nous avons calculé l'intersection de ces ensembles et constaté que seul "banana" était présent dans les trois.

Maintenant, stockons le résultat de l'intersection de my_set, my_set2 et my_set3 dans un nouvel ensemble nommé intersection_set en utilisant la commande SINTERSTORE. Exécutez la commande suivante :

SINTERSTORE intersection_set my_set my_set2 my_set3

Cette commande calculera l'intersection de my_set, my_set2 et my_set3, et stockera le résultat dans un nouvel ensemble nommé intersection_set. La sortie sera un entier représentant le nombre d'éléments dans l'ensemble résultant. Dans ce cas, la sortie devrait être 1, car l'intersection ne contient qu'un seul élément ("banana").

(integer) 1

Pour vérifier que l'intersection a été stockée correctement, vous pouvez utiliser la commande SMEMBERS pour afficher les membres de l'intersection_set. Exécutez la commande suivante :

SMEMBERS intersection_set

Cette commande renverra une liste de tous les membres de l'ensemble intersection_set. La sortie devrait être :

1) "banana"

Cela confirme que l'intersection de my_set, my_set2 et my_set3 a été stockée avec succès dans l'intersection_set.

Enfin, quittez l'interface de ligne de commande Redis (Redis CLI) :

exit

Dans cette étape, vous avez appris comment stocker le résultat d'une opération d'intersection dans un nouvel ensemble en utilisant la commande SINTERSTORE. Cela vous permet de réutiliser le résultat de l'intersection dans des opérations ultérieures sans avoir à la recalculer.

Summary

Dans ce labo, vous avez appris à ajouter des éléments à un ensemble Redis en utilisant la commande SADD. Les ensembles Redis sont des collections non ordonnées de chaînes uniques, ce qui signifie que chaque élément doit être unique et que l'ordre n'est pas conservé.

La commande SADD ajoute un ou plusieurs membres à un ensemble, en ignorant les doublons. Le labo a démontré l'ajout d'éléments à un ensemble, l'observation de la valeur de retour indiquant le nombre d'éléments ajoutés et la vérification du contenu de l'ensemble à l'aide de SMEMBERS. L'ordre de sortie de SMEMBERS peut différer de l'ordre d'insertion en raison de la nature non ordonnée des ensembles. Vous avez également appris à calculer les unions d'ensembles avec SUNION, à trouver des éléments communs avec SINTER, à identifier les différences entre les ensembles avec SDIFF et à stocker les résultats des opérations sur les ensembles pour une utilisation ultérieure avec SINTERSTORE. N'oubliez pas de quitter redis-cli après chaque étape pour vous assurer que vos commandes sont enregistrées.