Gestion avancée des clés Redis

RedisBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez des techniques avancées de gestion des clés dans Redis. Vous commencerez par apprendre à renommer des clés à l'aide de la commande RENAME, en vous connectant au serveur Redis via redis-cli, en définissant une paire clé-valeur, puis en la renommant, et en vérifiant le changement en cours de route.

Ensuite, vous découvrirez comment déplacer des clés entre différentes bases de données Redis à l'aide de la commande MOVE. Le laboratoire vous guidera à travers le processus de transfert d'une clé d'une base de données à une autre au sein de l'instance Redis. Le laboratoire couvre également la définition et la récupération de plusieurs clés, et l'itération efficace des clés.

Renommer une clé avec RENAME

Dans cette étape, vous apprendrez à renommer une clé dans Redis à l'aide de la commande RENAME. Le renommage des clés peut être utile pour diverses raisons, telles que la correction de fautes de frappe, la réorganisation de vos données ou la mise à jour des noms de clés pour refléter les modifications apportées à votre application.

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

redis-cli

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

Maintenant, définissons une paire clé-valeur que nous pouvons renommer. Utilisez la commande SET pour créer une clé nommée mykey avec la valeur myvalue :

SET mykey myvalue

Vous devriez voir la sortie : OK.

Pour vérifier que la clé a été définie correctement, utilisez la commande GET :

GET mykey

Vous devriez voir la sortie : "myvalue".

Maintenant, renommons la clé mykey en newkey à l'aide de la commande RENAME :

RENAME mykey newkey

Vous devriez voir la sortie : OK.

Pour vérifier que la clé a été renommée, essayez d'obtenir la valeur de l'ancienne clé (mykey) :

GET mykey

Vous devriez voir la sortie : (nil), ce qui signifie que la clé n'existe plus.

Maintenant, essayez d'obtenir la valeur de la nouvelle clé (newkey) :

GET newkey

Vous devriez voir la sortie : "myvalue", ce qui confirme que la clé a été renommée avec succès.

Enfin, renommons la clé newkey en mykey pour les prochaines étapes :

RENAME newkey mykey

Vous devriez voir la sortie : OK.

Vérifiez que la clé est renommée :

GET mykey

Vous devriez voir la sortie : "myvalue".

N'oubliez pas de quitter redis-cli en tapant exit ou en appuyant sur Ctrl+D. Cela garantit que vos commandes sont correctement enregistrées.

exit

Vous avez maintenant renommé avec succès une clé dans Redis à l'aide de la commande RENAME.

Déplacer une clé entre les bases de données avec MOVE

Dans cette étape, vous apprendrez comment déplacer une clé d'une base de données Redis à une autre en utilisant la commande MOVE. Redis prend en charge plusieurs bases de données logiques au sein d'une seule instance. Par défaut, il existe 16 bases de données, numérotées de 0 à 15. La commande MOVE vous permet de transférer une clé de la base de données actuellement sélectionnée vers une autre.

Tout d'abord, assurez-vous que vous êtes connecté au serveur Redis en utilisant l'interface de ligne de commande Redis (redis-cli). Ouvrez un terminal dans votre répertoire ~/project et tapez la commande suivante :

redis-cli

Vous devriez voir l'invite Redis : 127.0.0.1:6379>. Par défaut, vous êtes connecté à la base de données 0.

Nous avons déjà une clé nommée mykey avec la valeur myvalue dans la base de données 0 depuis l'étape précédente. Vérifions cela :

GET mykey

Vous devriez voir la sortie : "myvalue".

Maintenant, déplaçons la clé mykey de la base de données 0 vers la base de données 1 en utilisant la commande MOVE :

MOVE mykey 1

Vous devriez voir la sortie : (integer) 1, ce qui signifie que la clé a été déplacée avec succès.

Pour vérifier que la clé a été déplacée, essayez d'obtenir la valeur de la clé mykey dans la base de données 0 :

GET mykey

Vous devriez voir la sortie : (nil), ce qui signifie que la clé n'existe plus dans la base de données 0.

Maintenant, basculez vers la base de données 1 en utilisant la commande SELECT :

SELECT 1

Vous devriez voir la sortie : OK.

Maintenant, essayez d'obtenir la valeur de la clé mykey dans la base de données 1 :

GET mykey

Vous devriez voir la sortie : "myvalue", ce qui confirme que la clé a été déplacée avec succès vers la base de données 1.

Enfin, déplaçons la clé mykey vers la base de données 0 pour les prochaines étapes. Tout d'abord, revenez à la base de données 0 :

SELECT 0

Vous devriez voir la sortie : OK.

Maintenant, déplacez la clé mykey de la base de données 1 vers la base de données 0 :

MOVE mykey 0

Vous devriez voir la sortie : (error) ERR source and destination objects are the same.

Cette erreur se produit parce que vous SELECT 0 et ensuite MOVE mykey 0 dans la même session. La commande MOVE n'est pas autorisée à déplacer une clé vers la même base de données dans laquelle elle se trouve actuellement.

Pour déplacer une clé vers une base de données différente, vous devez d'abord sélectionner la base de données de destination, puis utiliser la commande MOVE.

Par exemple, sélectionnez d'abord la base de données 1 :

SELECT 1

Vous devriez voir la sortie : OK.

Maintenant, déplacez la clé mykey de la base de données 1 vers la base de données 0 :

MOVE mykey 0

Vous devriez voir la sortie : (integer) 1, ce qui signifie que la clé a été déplacée avec succès.

Maintenant, revenez à la base de données 0 :

SELECT 0

Vérifiez que la clé est de retour dans la base de données 0 :

GET mykey

Vous devriez voir la sortie : "myvalue".

N'oubliez pas de quitter redis-cli en tapant exit ou en appuyant sur Ctrl+D. Cela garantit que vos commandes sont correctement enregistrées.

exit

Vous avez maintenant déplacé avec succès une clé entre les bases de données Redis en utilisant la commande MOVE.

Définir plusieurs clés avec MSET

Dans cette étape, vous apprendrez à définir plusieurs clés avec leurs valeurs correspondantes en une seule commande à l'aide de la commande MSET dans Redis. Ceci est plus efficace que d'utiliser plusieurs commandes SET, car cela réduit le nombre d'allers-retours vers le serveur Redis.

Tout d'abord, assurez-vous que vous êtes connecté au serveur Redis à l'aide de l'interface de ligne de commande Redis (redis-cli). Si vous n'êtes pas déjà connecté, ouvrez un terminal dans votre répertoire ~/project et tapez la commande suivante :

redis-cli

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

Nous avons déjà une clé nommée mykey avec la valeur myvalue dans la base de données 0 depuis les étapes précédentes. Maintenant, définissons deux clés supplémentaires, key1 et key2, avec les valeurs value1 et value2 respectivement, à l'aide de la commande MSET :

MSET key1 value1 key2 value2

Vous devriez voir la sortie : OK, ce qui signifie que les clés ont été définies avec succès.

Pour vérifier que les clés ont été définies correctement, utilisez la commande GET pour chaque clé :

GET key1

Vous devriez voir la sortie : "value1".

GET key2

Vous devriez voir la sortie : "value2".

Maintenant, définissons trois clés, y compris mykey, à l'aide de MSET :

MSET mykey newvalue key3 value3 key4 value4

Vous devriez voir la sortie : OK.

Vérifiez les valeurs :

GET mykey

Vous devriez voir la sortie : "newvalue".

GET key3

Vous devriez voir la sortie : "value3".

GET key4

Vous devriez voir la sortie : "value4".

N'oubliez pas de quitter redis-cli en tapant exit ou en appuyant sur Ctrl+D. Cela garantit que vos commandes sont correctement enregistrées.

exit

Vous avez maintenant défini avec succès plusieurs clés avec la commande MSET.

Récupérer plusieurs clés avec MGET

Dans cette étape, vous apprendrez à récupérer les valeurs de plusieurs clés en une seule commande à l'aide de la commande MGET dans Redis. Ceci est plus efficace que d'utiliser plusieurs commandes GET, car cela réduit le nombre d'allers-retours vers le serveur Redis.

Tout d'abord, assurez-vous que vous êtes connecté au serveur Redis à l'aide de l'interface de ligne de commande Redis (redis-cli). Ouvrez un terminal dans votre répertoire ~/project et tapez la commande suivante :

redis-cli

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

Depuis l'étape précédente, nous avons les clés et valeurs suivantes :

  • mykey : newvalue
  • key1 : value1
  • key2 : value2
  • key3 : value3
  • key4 : value4

Maintenant, récupérons les valeurs de key1, key2 et mykey à l'aide de la commande MGET :

MGET key1 key2 mykey

Vous devriez voir la sortie :

1) "value1"
2) "value2"
3) "newvalue"

Cette sortie affiche les valeurs des clés dans l'ordre où elles ont été spécifiées dans la commande MGET.

Maintenant, récupérons les valeurs de key3, key4 et d'une clé inexistante key5 à l'aide de la commande MGET :

MGET key3 key4 key5

Vous devriez voir la sortie :

1) "value3"
2) "value4"
3) (nil)

Notez que la valeur de la clé inexistante key5 est (nil).

N'oubliez pas de quitter redis-cli en tapant exit ou en appuyant sur Ctrl+D. Cela garantit que vos commandes sont correctement enregistrées.

exit

Vous avez maintenant récupéré avec succès plusieurs clés avec la commande MGET.

Itérer Efficacement les Clés avec SCAN

Dans cette étape, vous apprendrez à itérer efficacement à travers les clés dans Redis en utilisant la commande SCAN. Contrairement à la commande KEYS, qui peut bloquer le serveur lorsqu'elle est utilisée sur de grandes bases de données, SCAN est un itérateur basé sur un curseur qui récupère les clés par lots, minimisant ainsi l'impact sur les performances.

Tout d'abord, assurez-vous d'être connecté au serveur Redis en utilisant l'interface de ligne de commande Redis (redis-cli). Ouvrez un terminal dans votre répertoire ~/project et tapez la commande suivante :

redis-cli

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

À partir des étapes précédentes, nous avons les clés suivantes :

  • mykey
  • key1
  • key2
  • key3
  • key4

La commande SCAN nécessite une valeur de curseur initiale, qui est généralement 0. Elle renvoie une nouvelle valeur de curseur pour l'itération suivante et une liste des clés trouvées dans l'itération actuelle.

Commençons l'itération avec un curseur de 0 :

SCAN 0

Vous devriez voir une sortie similaire à ceci :

1) "0"
2) 1) "key2"
   2) "key3"
   3) "key4"
   4) "key1"
   5) "mykey"

Le premier élément de la sortie ("0") est la valeur du curseur. Le deuxième élément est un tableau de clés trouvées dans cette itération. Puisque le curseur renvoyé est 0, cela indique que l'itération est terminée et que nous avons récupéré toutes les clés en une seule analyse (scan).

Vous pouvez également utiliser l'option MATCH pour filtrer les clés en fonction d'un modèle (pattern). Par exemple, pour trouver toutes les clés qui commencent par key, utilisez la commande suivante :

SCAN 0 MATCH key*

Vous devriez voir une sortie similaire à ceci :

1) "0"
2) 1) "key2"
   2) "key3"
   3) "key4"
   4) "key1"

Le curseur est "0", ce qui signifie que l'itération est terminée, et nous pouvons voir que seules les clés correspondant à notre modèle "key*" sont renvoyées (à l'exclusion de "mykey").

Vous pouvez également utiliser l'option COUNT pour indiquer à Redis le nombre d'éléments que vous souhaitez récupérer en un seul appel. Notez qu'il ne s'agit que d'une indication, et Redis peut renvoyer plus ou moins d'éléments. Par exemple :

SCAN 0 COUNT 3

Vous devriez voir une sortie similaire à ceci :

1) "6"
2) 1) "key2"
   2) "key3"
   3) "key4"

Dans ce cas, nous obtenons une nouvelle valeur de curseur de "6", indiquant qu'il y a plus de clés à analyser (scanner). Vous continueriez l'itération en utilisant cette nouvelle valeur de curseur jusqu'à ce que vous receviez un curseur de "0".

N'oubliez pas de quitter redis-cli en tapant exit ou en appuyant sur Ctrl+D. Cela garantit que vos commandes sont correctement enregistrées (logged).

exit

Vous avez maintenant itéré avec succès à travers les clés dans Redis en utilisant la commande SCAN.

Résumé

Dans ce labo, vous avez appris à effectuer des opérations avancées de gestion des clés dans Redis. Plus précisément, vous avez utilisé la commande RENAME pour renommer une clé, en modifiant son identifiant tout en conservant sa valeur associée. Vous avez également vérifié le renommage réussi en récupérant la valeur à l'aide des anciens et nouveaux noms de clé, confirmant ainsi l'existence et la valeur de la clé après l'opération. Enfin, vous avez renommé la clé à son nom d'origine pour les étapes suivantes.

Le labo a également introduit le concept de bases de données Redis et la commande MOVE, qui vous permet de transférer des clés entre ces bases de données logiques au sein d'une même instance Redis. Vous avez appris à utiliser la commande MSET pour définir efficacement plusieurs clés à la fois et la commande MGET pour récupérer leurs valeurs. Enfin, vous avez exploré la commande SCAN, un outil puissant pour itérer sur les clés dans de grandes bases de données sans bloquer le serveur. N'oubliez pas de toujours quitter redis-cli après chaque étape pour vous assurer que vos commandes sont enregistrées pour vérification.