Opérations sur les Hachages Redis

RedisBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez les opérations Redis Hash, en vous concentrant sur les moyens efficaces de gérer les données au sein des hashes. Nous commencerons par utiliser la commande HMSET pour définir simultanément plusieurs champs dans un hash. Ensuite, vous apprendrez à récupérer des champs spécifiques à l'aide de HMGET, à incrémenter les valeurs des champs avec HINCRBY et à vérifier l'existence d'un champ dans un hash à l'aide de HEXISTS. À la fin de ce laboratoire, vous aurez une solide compréhension de la façon d'effectuer des opérations hash courantes dans Redis.

Définir plusieurs champs avec HMSET

Dans cette étape, nous allons explorer la commande HMSET dans Redis, qui vous permet de définir plusieurs champs d'un hash à la fois. Ceci est plus efficace que de définir chaque champ individuellement à l'aide de la commande HSET.

Tout d'abord, connectons-nous au serveur Redis à l'aide de la commande redis-cli. Ouvrez un terminal dans votre répertoire ~/project et tapez :

redis-cli

Vous devriez voir l'invite Redis : 127.0.0.1:6379>.

Maintenant, utilisons la commande HMSET. La syntaxe est :

HMSET key field value [field value ...]

Où :

  • key est le nom du hash.
  • field est le nom du champ dans le hash.
  • value est la valeur à attribuer au champ.

Créons un hash appelé user:1001 et définissons plusieurs champs pour celui-ci : name, age et city.

HMSET user:1001 name "John Doe" age 30 city "New York"

Vous devriez voir la sortie OK, ce qui indique que la commande a réussi.

Pour vérifier que les champs ont été définis correctement, vous pouvez utiliser la commande HGETALL. Cependant, pour ce laboratoire, nous nous concentrerons sur la vérification des commandes elles-mêmes.

Vous pouvez également utiliser HMSET pour mettre à jour les champs existants. Par exemple, modifions le champ age à 31 :

HMSET user:1001 age 31

Encore une fois, vous devriez voir OK.

N'oubliez pas de quitter redis-cli en tapant exit. Ceci est important pour que la commande soit enregistrée pour vérification.

exit

Récupérer plusieurs champs avec HMGET

Dans cette étape, nous allons apprendre à récupérer plusieurs champs d'un hash Redis à l'aide de la commande HMGET. Ceci est utile lorsque vous n'avez besoin que de champs spécifiques et que vous ne souhaitez pas récupérer l'intégralité du hash.

Tout d'abord, connectez-vous au serveur Redis à l'aide de la commande redis-cli :

redis-cli

Rappelez-vous que dans l'étape précédente, nous avons créé un hash appelé user:1001 avec les champs name, age et city. Récupérons les champs name et age à l'aide de la commande HMGET.

La syntaxe de HMGET est :

HMGET key field [field ...]

Où :

  • key est le nom du hash.
  • field est le nom du champ que vous souhaitez récupérer. Vous pouvez spécifier plusieurs champs.

Pour récupérer les champs name et age du hash user:1001, exécutez la commande suivante :

HMGET user:1001 name age

Vous devriez voir une sortie similaire à ceci :

1) "John Doe"
2) "31"

La sortie est un tableau de valeurs, correspondant à l'ordre des champs que vous avez demandés.

Si un champ n'existe pas dans le hash, HMGET renverra nil pour ce champ.

N'oubliez pas de quitter redis-cli en tapant exit.

exit

Incrémenter la valeur d'un champ avec HINCRBY

Dans cette étape, nous allons apprendre à incrémenter la valeur d'un champ dans un hash Redis à l'aide de la commande HINCRBY. Cette commande est particulièrement utile pour les compteurs et autres données numériques.

Tout d'abord, connectez-vous au serveur Redis à l'aide de la commande redis-cli :

redis-cli

Nous allons continuer à utiliser le hash user:1001 que nous avons créé dans les étapes précédentes. Supposons que nous voulions suivre le nombre de connexions pour cet utilisateur. Nous pouvons ajouter un champ logins au hash et l'incrémenter chaque fois que l'utilisateur se connecte.

Tout d'abord, ajoutons le champ logins et initialisons-le à 0. Nous pouvons utiliser HMSET pour cela :

HMSET user:1001 logins 0

Vous devriez voir OK. Maintenant, utilisons HINCRBY pour incrémenter le champ logins.

La syntaxe de HINCRBY est :

HINCRBY key field increment

Où :

  • key est le nom du hash.
  • field est le nom du champ que vous souhaitez incrémenter.
  • increment est la valeur dont vous souhaitez incrémenter le champ.

Pour incrémenter le champ logins de 1, exécutez la commande suivante :

HINCRBY user:1001 logins 1

Vous devriez voir la sortie (integer) 1, qui est la nouvelle valeur du champ logins.

Incrémentons à nouveau le champ logins :

HINCRBY user:1001 logins 1

La sortie sera (integer) 2.

Vous pouvez également incrémenter par des valeurs autres que 1.

N'oubliez pas de quitter redis-cli en tapant exit.

exit

Vérifier l'existence d'un champ avec HEXISTS

Dans cette étape, nous allons apprendre à vérifier si un champ existe dans un hash Redis à l'aide de la commande HEXISTS. Ceci est utile pour vérifier la présence d'un champ avant de tenter de le récupérer ou de le modifier.

Tout d'abord, connectez-vous au serveur Redis à l'aide de la commande redis-cli :

redis-cli

Nous allons continuer à utiliser le hash user:1001 que nous avons créé dans les étapes précédentes. Nous savons que ce hash a des champs comme name, age, city et logins. Utilisons HEXISTS pour vérifier si le champ name existe.

La syntaxe de HEXISTS est :

HEXISTS key field

Où :

  • key est le nom du hash.
  • field est le nom du champ que vous souhaitez vérifier.

Pour vérifier si le champ name existe dans le hash user:1001, exécutez la commande suivante :

HEXISTS user:1001 name

Vous devriez voir la sortie (integer) 1, ce qui indique que le champ existe.

Maintenant, vérifions un champ qui n'existe pas, tel que country :

HEXISTS user:1001 country

Vous devriez voir la sortie (integer) 0, ce qui indique que le champ n'existe pas.

N'oubliez pas de quitter redis-cli en tapant exit.

exit

Résumé

Dans ce labo, vous avez découvert les opérations sur les Hash Redis. Vous avez commencé par utiliser la commande HMSET pour définir efficacement plusieurs champs dans un hash. Ensuite, vous avez exploré comment récupérer des champs spécifiques à l'aide de HMGET, incrémenter les valeurs des champs avec HINCRBY et vérifier l'existence d'un champ dans un hash à l'aide de HEXISTS. Ces commandes fournissent une base pour gérer efficacement les données dans les hash Redis.