Gestion de données de base dans Redis

RedisBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez les techniques fondamentales de gestion de données dans Redis. Vous commencerez par apprendre à incrémenter et décrémenter des valeurs numériques à l'aide des commandes atomiques INCR et DECR, idéales pour les compteurs et les limiteurs de débit. Vous vous connecterez au serveur Redis via redis-cli, définirez des valeurs initiales, puis les incrémenterez et les décrémenterez, en vérifiant les résultats avec la commande GET.

De plus, vous apprendrez à récupérer toutes les clés stockées dans Redis en utilisant la commande KEYS.

Incrémenter et décrémenter des valeurs avec INCR/DECR

Dans cette étape, vous apprendrez à incrémenter et décrémenter des valeurs numériques stockées dans Redis à l'aide des commandes INCR et DECR. Ces commandes sont atomiques, ce qui signifie qu'elles sont garanties de s'exécuter sans interférence d'autres clients, ce qui les rend adaptées à des tâches telles que les compteurs et les limiteurs de débit.

Tout d'abord, connectons-nous au serveur Redis en utilisant la commande redis-cli dans le terminal :

redis-cli

Maintenant, définissons une clé nommée mycounter avec une valeur initiale de 10. Cela crée une paire clé-valeur dans la base de données Redis. La clé est mycounter et la valeur est 10.

SET mycounter 10

Vous devriez voir la sortie suivante, confirmant que la clé a été définie avec succès :

OK

La commande INCR incrémente la valeur d'une clé de 1. Incrémentons mycounter :

INCR mycounter

La sortie affichera la valeur incrémentée :

(integer) 11

Pour vérifier la valeur, vous pouvez utiliser la commande GET :

GET mycounter

La sortie devrait être :

"11"

La commande DECR décrémente la valeur d'une clé de 1. Décrémentons mycounter :

DECR mycounter

La sortie affichera la valeur décrémentée :

(integer) 10

Vérifiez à nouveau la valeur avec GET :

GET mycounter

La sortie devrait être :

"10"

Si une clé n'existe pas, INCR et DECR considèrent qu'elle contient la valeur 0. Essayons d'incrémenter une clé inexistante appelée newcounter :

INCR newcounter

La sortie sera :

(integer) 1

Maintenant, vérifiez la valeur de newcounter :

GET newcounter

La sortie devrait être :

"1"

De même, décrémenter une clé inexistante la traitera comme 0 et la décrémentera à -1.

DECR anothercounter

La sortie sera :

(integer) -1
GET anothercounter

La sortie devrait être :

"-1"

Enfin, quittez redis-cli :

exit

Il est important de quitter redis-cli après avoir terminé les commandes afin que l'historique des commandes soit correctement enregistré.

Récupérer toutes les clés avec KEYS

Dans cette étape, vous apprendrez à récupérer toutes les clés stockées dans Redis à l'aide de la commande KEYS. Bien que KEYS soit utile pour le développement et le débogage, il n'est généralement pas recommandé pour les environnements de production contenant de grands ensembles de données, car il peut bloquer le serveur pendant qu'il parcourt toutes les clés.

Tout d'abord, connectez-vous au serveur Redis en utilisant redis-cli :

redis-cli

À l'étape précédente, vous avez créé plusieurs clés : mycounter, newcounter et anothercounter. Ajoutons quelques clés supplémentaires pour rendre l'exemple plus intéressant.

SET user:1000:name "John"
SET user:1000:age 30
SET user:1001:name "Jane"

Maintenant, utilisez la commande KEYS avec le motif * pour récupérer toutes les clés de la base de données :

KEYS *

La sortie sera une liste de toutes les clés :

1) "anothercounter"
2) "user:1000:age"
3) "user:1001:name"
4) "mycounter"
5) "newcounter"
6) "user:1000:name"

L'ordre des clés peut varier.

Vous pouvez également utiliser des motifs pour récupérer les clés correspondant à un modèle spécifique. Par exemple, pour récupérer toutes les clés commençant par user:, utilisez la commande suivante :

KEYS user:*

La sortie sera :

1) "user:1000:age"
2) "user:1001:name"
3) "user:1000:name"

Autre exemple, pour récupérer toutes les clés contenant counter, utilisez la commande suivante :

KEYS *counter*

La sortie sera :

1) "anothercounter"
2) "mycounter"
3) "newcounter"

N'oubliez pas que l'utilisation de KEYS * sur une grande base de données peut affecter les performances. Pour les environnements de production, envisagez d'utiliser SCAN à la place, qui parcourt l'espace des clés de manière non bloquante.

Enfin, quittez redis-cli :

exit

Vérifier le type de données avec TYPE

Dans cette étape, vous apprendrez à vérifier le type de données d'une clé stockée dans Redis à l'aide de la commande TYPE. Redis prend en charge divers types de données, notamment les chaînes (strings), les listes, les ensembles (sets), les ensembles triés (sorted sets) et les hachages (hashes). Comprendre le type de données d'une clé est crucial pour effectuer les opérations appropriées.

Tout d'abord, connectez-vous au serveur Redis en utilisant redis-cli :

redis-cli

Dans les étapes précédentes, vous avez créé plusieurs clés avec des valeurs différentes. Vérifions leurs types de données.

Tout d'abord, vérifions le type de données de la clé mycounter :

TYPE mycounter

La sortie sera :

string

Cela indique que mycounter est stocké en tant que chaîne, même s'il contient une valeur numérique. Redis convertit automatiquement les valeurs numériques en chaînes lors de l'utilisation de SET.

Ensuite, vérifions le type de données de la clé user:1000:name :

TYPE user:1000:name

La sortie sera :

string

Cela indique également que user:1000:name est stocké en tant que chaîne.

Maintenant, vérifions le type de données d'une clé qui n'existe pas, comme nonexistentkey :

TYPE nonexistentkey

La sortie sera :

none

Cela indique que la clé n'existe pas dans la base de données.

Pour illustrer davantage les types de données, créons une liste :

LPUSH mylist "item1"
LPUSH mylist "item2"

Maintenant, vérifiez le type de données de mylist :

TYPE mylist

La sortie sera :

list

Cela confirme que mylist est stocké en tant que liste.

De même, vous pouvez créer d'autres types de données comme des ensembles, des ensembles triés et des hachages, et utiliser la commande TYPE pour vérifier leurs types. Par exemple :

SADD myset "member1"
SADD myset "member2"
TYPE myset

La sortie sera :

set
ZADD mysortedset 1 "element1"
ZADD mysortedset 2 "element2"
TYPE mysortedset

La sortie sera :

zset
HSET myhash field1 "value1"
HSET myhash field2 "value2"
TYPE myhash

La sortie sera :

hash

Enfin, quittez redis-cli :

exit

Effacer les données avec FLUSHDB

Dans cette étape, vous apprendrez à effacer toutes les données de la base de données Redis actuellement sélectionnée à l'aide de la commande FLUSHDB. Cette commande est utile pour réinitialiser la base de données pendant le développement ou les tests. Utilisez cette commande avec prudence dans les environnements de production, car elle supprimera définitivement toutes les données de la base de données.

Tout d'abord, connectez-vous au serveur Redis en utilisant redis-cli :

redis-cli

Avant de vider la base de données, vérifions la présence de clés. Utilisez la commande KEYS * :

KEYS *

Vous devriez voir une liste de clés créées aux étapes précédentes, telles que mycounter, newcounter, user:1000:name et mylist.

Maintenant, exécutez la commande FLUSHDB :

FLUSHDB

La sortie sera :

OK

Cela indique que la base de données a été vidée avec succès.

Pour vérifier que la base de données est maintenant vide, utilisez à nouveau la commande KEYS * :

KEYS *

La sortie sera une liste vide :

(empty array)

Cela confirme que toutes les clés ont été supprimées de la base de données.

Il est important de comprendre que FLUSHDB ne nettoie que la base de données actuellement sélectionnée. Redis prend en charge plusieurs bases de données (numérotées de 0 à 15 par défaut). Si vous souhaitez effacer toutes les bases de données, vous pouvez utiliser la commande FLUSHALL. Cependant, nous n'utiliserons pas FLUSHALL dans ce laboratoire pour éviter toute perte de données involontaire.

Enfin, quittez redis-cli :

exit

Résumé

Dans ce laboratoire, vous avez appris les techniques fondamentales de gestion de données dans Redis. Plus précisément, vous avez pratiqué l'incrémentation et la décrémentation de valeurs numériques à l'aide des commandes atomiques INCR et DECR, utiles pour implémenter des compteurs et des limiteurs de débit. Vous avez également appris que si une clé n'existe pas, ces commandes la traitent comme si elle contenait la valeur 0.

De plus, vous avez découvert la commande KEYS pour récupérer toutes les clés stockées dans Redis. Bien qu'utile pour le développement et le débogage, elle n'est généralement pas recommandée pour les environnements de production avec de grands ensembles de données. Enfin, vous avez appris à vérifier les types de données et à vider la base de données.