redis
Redis Set Datatype
Recherche…
Introduction
Redis prend en charge un type de données défini analogue aux ensembles mathématiques pour la modélisation des données dans la base de données. Les ensembles sont un type de données composé constitué d'un groupe de membres uniques non ordonnés. Les ensembles prennent en charge l'ajout et la suppression de membres, les opérations de taille ainsi que les opérations de combinaison qui prennent deux ensembles et génèrent un troisième ensemble. Les ensembles dans Redis sont similaires aux ensembles dans la plupart des langages de programmation.
Syntaxe
- Membre clé de SADD [membre ...]
- Membre clé de SISMEMBER
- Touche SCARD
- Membre clé de SADD [membre ...]
Remarques
La documentation complète sur le type de données Redis est disponible sur Redis.io .
Taille d'un ensemble
La taille d'un ensemble peut être déterminée à l'aide de la commande SCARD. SCARD renvoie la cardinalité d'un ensemble ou le nombre de membres dans l'ensemble. Par exemple, si un ensemble Redis définissait my_set dans la base de données qui ressemblait à (Apple, Orange, Banana), je pourrais obtenir la taille en utilisant le code suivant:
SCARD my_set
Dans le cas de mon exemple défini, cela renverrait 3. Si l'utilisateur exécute une commande SCARD sur une clé qui n'existe pas, Redis retournera 0.
Ajout d'éléments à un ensemble
La commande de base Redis pour ajouter un élément à un ensemble est SADD. Il prend une clé et un ou plusieurs membres et les ajoute à l'ensemble stocké à la clé donnée.
Par exemple, disons que je voulais créer un ensemble avec les éléments pomme, poire et banane. Je pourrais exécuter l'un des suivants:
SADD fruit apple
SADD fruit pear
SADD fruit banana
ou
SADD fruit apple pear banana
Après l'exécution, j'aurai le fruit avec 3 éléments.
Si vous essayez d'ajouter un élément qui se trouve déjà dans l'ensemble, cela n'aura aucun effet. Après avoir configuré mon set de fruits en utilisant le code ci-dessus, si j'essaie d'ajouter à nouveau Apple:
SADD fruit apple
Redis tentera d’ajouter de la pomme à la série de fruits, mais comme elle est déjà dans le jeu, rien ne changera.
Le résultat de la commande SADD est toujours le nombre d'éléments ajoutés par Redis à un ensemble. Donc, en essayant de rajouter Apple, le résultat sera 0.
Les éléments de membre dans Redis sont sensibles à la casse, donc Apple et Apple sont traités comme deux éléments distincts.
Test d'adhésion
Redis fournit la commande SISMEMBER pour tester si un élément particulier est déjà membre d'un ensemble. En utilisant la commande SISMEMBER, je peux tester et voir si Apple est déjà membre de mon set de fruits.
Si je construis mon jeu de fruits à partir de l'exemple précédent, je peux vérifier et voir s'il contient Apple en utilisant le test suivant:
SISMEMBER fruit apple
SISMEMBER renverra un 1 puisque l'élément est déjà là.
Si j'ai essayé de voir si le chien fait partie de mon groupe de fruits:
SISMEMBER fruit dog
Redis renverra un 0 car le chien n'est pas dans la série de fruits.
Si un utilisateur tente d'utiliser la commande SISMEMBER avec une clé qui n'existe pas, Redis renvoie un 0 indiquant l'absence d'appartenance, mais si vous utilisez SISMEMBER avec une clé contenant déjà un type de données non défini, Redis renvoie une erreur.