- La plupart des objets (mais pas tous) utilisent une clé
- Utiliser des espaces de noms
- Récupération de toutes les clés existantes
Comme d'autres moteurs de bases de données non relationnelles, comprendre comment Redis gère les structures de données et les associations peut parfois être difficile. Cela est particulièrement vrai lorsque Redis est comparé à des bases de données relationnelles plus traditionnelles avec des tables mises en quarantaine, chacune contenant plusieurs lignes et colonnes pour héberger les données.
Étant donné que Redis n'est pas relationnel, tout dans le système est configuré avec une key/value
de base paires au niveau le plus simple. Pendant le développement en particulier, il peut être difficile de garder une trace de tout ce qui existe déjà dans la base de données, donc dans ce bref tutoriel, nous couvrirons la méthode pour récupérer toutes les keys
à partir d'une base de données Redis avec quelques commandes simples.
La plupart (mais pas tous) les objets utilisent une clé
Pour la grande majorité du stockage de données avec Redis, les données seront stockées dans une simple key/value
paire. Ceci est mieux illustré par le redis-cli
(interface de ligne de commande) en utilisant GET
et SET
commandes.
Par exemple, nous pouvons vouloir stocker des informations sur les books
, comme le title
et author
de quelques-uns de nos favoris.
> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK
Le title
et author
sont les keys
nous avons défini et les valeurs de chaîne réelles ont été spécifiées après. Nous pouvons donc les visualiser avec GET
, comme ceci :
> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"
Utilisation des espaces de noms
C'est bien beau, mais comment ajouter un autre livre ? Nous ne pouvons pas réutiliser le même title
et author
clés ou nous écraserons les données existantes. Au lieu de cela, nous pouvons utiliser la syntaxe de l'espace de noms en utilisant un :
séparateur et donnant à chaque title
ou author
saisir une key
numérique unique :
> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK
Maintenant, en utilisant GET
nécessite l'ajout de la key
numérique unique aussi :
> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"
Récupération de toutes les clés existantes
Il s'avère que chaque SET
la commande que nous avons émise ci-dessus a créé une nouvelle key
unique dans notre base de données Redis. Pour obtenir une liste de toutes les keys
actuelles qui existent, il suffit d'utiliser les KEYS
commande :
> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"
En suivant les KEYS
avec un astérisque (*
) - qui agit comme une recherche générique - nous demandons à Redis de récupérer toutes les clés du système. Ainsi, nous ne voyons pas seulement nos deux title
originaux et author
clés mais aussi les quatre versions énumérées qui ont suivi également.
La syntaxe suivant KEYS
peut être utilisé pour rechercher des mots ou des phrases spécifiques dans la clé, ou également la correspondance exacte. Ici, nous voulons toutes les clés contenant le texte 'title'
:
> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"
ATTENTION :Comme mentionné dans la documentation officielle, il est conseillé d'éviter d'utiliser les KEYS
sur de très grandes bases de données, mais surtout évitez de l'utiliser dans un environnement de production. Depuis KEYS
renvoie potentiellement toutes les clés du système, cela peut avoir un impact négatif considérable sur les performances.