Redis Hash Fields
Les hachages sont un type de données populaire dans les magasins Redis car ils peuvent représenter de manière globale des objets du monde réel. Les objets du monde réel contiennent des champs qui sont attribuables aux valeurs, comme indiqué dans ce qui suit.
Dans Redis, HashMap Data Structure Dispositions Paires de valeurs. Une paire de valeurs de nom peut être identifiée comme un champ dans une entité réelle. Cartons l'instance de l'employé ci-dessus à un hachage redis.
Dans l'exemple ci-dessus, nous avons obtenu la clé Redis de niveau supérieur "Employé: 1", Où nous stockons notre hachage. Il y a quatre champs de hachage représentant quatre attributs de l'objet employé. Redis Hashs peut stocker plus de 4 milliards de champs de hachage qui sont plus que suffisants pour représenter vos objets. La meilleure chose est qu'elle prend toujours un minimum d'espace dans votre instance de base de données redis. Il est plus efficace de maintenir 1000 champs de hachage dans les 10 clés Redis de niveau supérieur pour stocker 10000 données de valeur clé que pour stocker cette quantité de données dans 10000 touches Redis de niveau supérieur.
Commande redis hlen
Dans certaines applications, il est nécessaire de compter le nombre de propriétés ou de champs disponibles pour un objet donné. S'il est stocké dans un hachage Redis, alors c'est une commande loin de récupérer le nombre de champs de hachage à la clé spécifiée. Le "Hlen»La commande peut être utilisée pour compter le nombre de champs de hachage contenus dans un hachage donné.
Syntaxe
1 | Hlen hash_key |
touche dièse: Ceci est la clé redis de niveau supérieur auquel le hachage a été stocké.
Cette commande renvoie une valeur entière qui est le nombre de champs de hachage stockés à une clé donnée. Lorsque le hash_key n'existe pas, cette commande retournera 0. Cette commande a une complexité de temps constante O (1), qui vous motive à l'utiliser dans des applications hautes performances.
Exemple - Compter le nombre d'articles dans un panier
Supposons que nous utilisons la base de données Redis pour stocker des articles de panier. L'idée est d'identifier chaque client avec une clé redis. Chaque clé Redis stocke plusieurs champs de hachage qui représentent un article de panier. L'objet d'article de panier ressemblerait à ce qui suit.
Nous pouvons utiliser la commande HSET pour ajouter des articles de panier pour «Client: 1».
1 | Client HSET: 1 pomme 10 bière 5 lait 2 |
Maintenant le client: 1 objet devrait ressembler à ce qui suit.
Il y a 3 champs stockés au Clé «Client: 1». Nous utiliserons la commande Hlen pour compter le nombre de champs sur la clé «Client: 1».
1 | Client Hlen: 1 |
Sortir:
La sortie est 3, comme prévu.
Supprimons le champ de «bière» au Client: 1 clé. La commande hdel peut être utilisée pour supprimer un champ d'une clé donnée.
1 | Client Hdel: 1 bière |
Maintenant, nous pouvons vérifier les champs de hachage existants en exécutant la commande HGETALL.
1 | Client Hgetall: 1 |
Sortir:
Le champ «Bière: 5» a été supprimé avec succès. Comptons à nouveau le nombre de champs en utilisant la commande hlen.
1 | Client Hlen: 1 |
Depuis que nous n'avons que deux champs de hachage à la clé «Client: 1», la sortie doit être 2.
Sortir:
Il est recommandé d'utiliser la commande hlen lorsqu'il est nécessaire de compter le nombre de champs de hachage stockés à une clé donnée. C'est une commande très rapide et facile à utiliser dans vos applications basées sur Redis.
Vérifions également la sortie de la clé de non-existence.
1 | Hlen Inexistence-Key |
Sortir:
La sortie est 0, comme prévu.
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. Le Hlen peut être utilisé pour compter le nombre de champs de hachage stockés à une clé Redis donnée. Habituellement, il renvoie un entier qui est le décompte des champs de hachage. Si la clé redis n'existe pas, elle reviendra 0. C'est vraiment rapide car nous n'avons pas besoin d'effectuer une opération de lecture séparée.