Redis SCARD

Redis Scard



'Les ensembles Redis sont des collections non ordonnées de chaînes qui ne contiennent aucun doublon. Ceux-ci sont très similaires aux Java HashSets, Python Sets, etc. Plus important encore, les opérations fondamentales telles que l'ajout, la suppression et la vérification de l'existence d'un membre sont très efficaces car elles fonctionnent dans une complexité temporelle O (1).

Membres d'un ensemble

Comme mentionné, les ensembles Redis contiennent des éléments de chaîne uniques. Les éléments déjà existants ne seront pas acceptés par les ensembles Redis et seront ignorés. De plus, un seul ensemble peut contenir jusqu'à 4 milliards de chaînes uniques.









La nature de l'ensemble Redis consistant à détenir des membres uniques est utile dans plusieurs cas d'utilisation réels.



  • Possibilité d'effectuer des opérations d'ensemble standard telles que l'union, l'intersection et la différence.
  • Suivi des visiteurs uniques sur un site Web
  • Représenter les relations d'entités du monde réel

La commande SCARD

La commande SCARD, abréviation de Set Cardinality, renvoie le nombre de membres dans un ensemble stocké à une clé donnée. Il fonctionne en complexité temporelle O (1), ce qui signifie que le temps d'exécution de la commande SCARD ne dépend pas du nombre de membres dans l'ensemble donné. Cela prend toujours un temps constant.





La commande SCARD a une syntaxe très simple, comme illustré ci-dessous.

SCARD set_key

set_key : La clé de l'ensemble Redis



Cette commande renvoie une valeur entière qui correspond au nombre de membres dans l'ensemble.

Cas d'utilisation - Compter les visiteurs uniques sur un site Web

Supposons qu'une entreprise de pizza 'YummyPizza' gère un site Web appelé yummypizza.com où les gens peuvent commander des pizzas en ligne. Pour suivre leurs ventes et leur clientèle, ils maintiennent une base de données Redis pour stocker tous les visiteurs uniques du site Web chaque mois.

Chaque fois qu'un utilisateur visite le site Web YummyPizza, l'identifiant de l'utilisateur doit être ajouté à la base de données Redis. De plus, le même utilisateur ne doit pas non plus être ajouté à la base de données. Ainsi, la structure de données idéale est l'ensemble Redis, où les ensembles ne stockent que des membres uniques.

Supposons que cinq utilisateurs ont visité le site Web et que ces membres sont ajoutés à la base de données Redis, comme indiqué ci-dessous.

SADD YummyPizzaVisiteurs :October John Mary Raza Stoinis Prince

Comme prévu, l'entier 5 a été renvoyé, ce qui signifie que les cinq membres sont ajoutés à l'ensemble stocké à la clé ' YummyPizzaVisiteurs :octobre.

En fin de compte, les administrateurs de l'entreprise doivent vérifier le nombre total de visiteurs uniques sur le site Web. Ainsi, la cardinalité de l'ensemble doit être calculée. Heureusement, la commande SCARD discutée précédemment est pratique dans ce type de scénario.

Exécutons la commande SCARD sur l'ensemble stocké à la clé ' YummyPizzaVisiteurs :octobre.

scard YummyPizzaVisiteurs:Octobre

La sortie est 5, ce qui signifie que cinq membres uniques se trouvent dans l'ensemble spécifié. Cette commande s'exécute trop rapidement. Peu importe cinq membres ou 50 000 membres ; le temps d'exécution sera constant.

Supposons que la clé d'ensemble spécifiée n'existe pas dans la base de données Redis. Ensuite, la sortie sera 0, comme illustré dans l'exemple suivant. Dans ce cas, nous allons spécifier une clé qui n'est pas dans la base de données.

scard NonExistingKey

Conclusion

Pour résumer, l'ensemble Redis est un candidat idéal pour stocker des chaînes uniques. Comme indiqué, la chose la plus importante à propos de l'ensemble Redis est que la plupart des opérations d'ensemble associées prennent un temps constant pour s'exécuter. La commande SCARD est l'une des commandes d'ensemble les plus utilisées pour calculer le nombre total de membres d'ensemble pour un ensemble donné stocké à une clé spécifiée. Quel que soit le nombre de membres d'ensemble disponibles, cette commande prend un temps constant pour fournir la sortie. Comme indiqué dans le dernier exemple, si la clé définie n'existe pas, la sortie sera 0.