Manipulation du hachage redis
Redis Hash peut être identifié comme une structure de données de paire de valeurs de champ. Cela peut être stocké sur une clé Redis spécifiée comme indiqué dans l'illustration suivante:
Habituellement, les valeurs de champ de hachage peuvent stocker des données de chaîne, entier et flottantes. L'une des opérations atomiques que nous pouvons effectuer sur les hachages est l'incrément ou la décrémentation des valeurs entières attribuées à un champ de hachage donné.
La commande hincrby est utilisée pour effectuer l'incrément / décrémentation d'une valeur entière. Dans les sections suivantes, nous en discuterons davantage sur l'utilisation pratique de la commande Hincrby Hash.
La commande hincrby
Syntaxe:
Hincrby redis_key hash_field_name incrément_by_value
redis_key: La clé de niveau supérieur du magasin Redis
hash_field_name: L'identifiant unique du champ de hachage
incrément_by_value: La valeur entière de l'argument d'incrément
La valeur de retour de la commande hincrby est un entier. C'est la valeur du champ de hachage après l'opération. Le incrément_by_value L'argument soutient les entiers signés 64 bits qui permettent le passage des nombres positifs et négatifs.
Lorsque le champ de hachage donné n'existe pas
Disons que nous avons une clé de hachage redis Utilisateur: 001 avec un champ nommé identifiant. La valeur du identifiant Le champ est 10. Si nous essayons d'augmenter la valeur de hachage de 5 pour une clé inexistante âge, Redis créera un nouveau champ âge et attribuer sa valeur à 5.
Lorsque la clé redis spécifiée n'existe pas
Supposons que nous passons la clé comme Utilisateur: 002 à la commande hincrby avec le champ âge et la valeur d'incrément de dix. Depuis le Utilisateur: 002 La clé n'est pas disponible dans le magasin Redis, il créera une nouvelle clé Utilisateur: 002 avec un champ d'âge. La valeur du champ d'âge sera dix qui est la valeur de l'argument incrément adopté.
Utilisation pratique
Il existe de nombreux cas d'utilisation du monde réel de la commande Hincrby Hash:
Le principal avantage de l'opération Hincrby est qu'il n'a pas besoin d'une opération de lecture explicite pour mettre à jour la valeur de hachage. Vous pouvez directement mettre à jour la valeur de hachage de la boutique Redis. Cela rend les opérations très rapidement.
Exemple 01 - Capturer l'utilisation et le coût par utilisateur
Supposons que nous devons stocker les données d'utilisation et de coût par utilisateur dans un système donné. Par conséquent, nous identifierons chaque utilisateur avec une clé redis. L'utilisation et le coût seront les champs de hachage de cette clé de redis particulière.
Utilisateur HMSet: 001 Utilisation 50 Coût 1500
Nous pouvons utiliser la commande hmset hash pour définir les champs multiples pour le hash.
Vérifions si le hachage de l'utilisateur: 001 est stocké correctement dans le magasin de données.
Utilisateur de Hgetall: 001
Sortir:
Supposons que l'utilisateur a utilisé 10 autres unités de ressources dans le système et cela coûterait 500 dollars supplémentaires. Maintenant, nous pouvons facilement utiliser la commande Hincrby Hash pour mettre à jour les données pour Utilisateur: 001.
Utilisateur de Hincrby: 001 Utilisation 10
Utilisateur Hincrby: 001 Coût 500
Sortir:
Vérifions l'utilisateur: 001 valeurs de hachage.
Utilisateur de Hgetall: 001
Sortir:
Exemple 02 - décrémentation du nombre d'unités dans le panier
Dans les paniers d'achat, nous devons toujours effectuer les opérations de décrération sur le nombre d'articles lorsque l'utilisateur supprime un article. Stockons le nombre d'articles pour le Utilisateur: 002.
Utilisateur HMSet: 002 Itema 10 Itemb 5
Dans ce cas, nous avons attribué respectivement les itema et itemb comme 10 et 5,. Vérifions l'utilisateur: 002 données.
Utilisateur de Hgetall: 002
Sortir:
Supposons que le Utilisateur: 002 Supprime 2 itemas et 5 itembs. La commande hincrby peut être utilisée pour effectuer cette opération de diminution en passant des entiers -2 et -5 comme arguments d'incrément.
Utilisateur hincrby: 002 itema -2
Utilisateur hincrby: 002 itemb -5
Sortir:
La commande hincrby est puissante et efficace lorsque l'incrément et les opérations de décrémentation peuvent être effectuées en utilisant la même commande avec un argument d'incrément signé. Cette commande a une complexité de temps constante. Par conséquent, il est très rapide d'effectuer les opérations d'incrément / décrément sur les hachages.
Conclusion
Redis peut stocker différents types de structures de données pour une clé spécifique. Les hachages sont l'une des structures de données les plus populaires utilisées dans les bases de données redis. Les hachages peuvent être utilisés pour représenter et manipuler efficacement des objets simples et des données. Redis soutient plusieurs opérations de hachage. Hincrby est l'une des commandes populaires pour incrémenter et décrémenter les valeurs entières pour un champ de hachage donné. Il prend en charge les entiers signés 64 bits comme valeur d'incrément. Par conséquent, les opérations d'incrément et de décrémentation peuvent être effectuées en utilisant la même commande.