Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Les bases de Valkey

La leçon complète est à lire ici. Créez un compte gratuit pour la pratiquer dans un labo en direct.

Labo de conteneurs8 min de lecture8 commandes

Ce que tu vas faire

Une base clé-valeur garde une valeur sous un nom, et te la rend quand tu redemandes ce nom. Les sites web en utilisent une pour retenir la session d'un visiteur ou compter les pages vues, parce qu'elle répond en une fraction de milliseconde. Valkey est une base libre qui comprend les mêmes commandes que Redis. Tu vas stocker et relire une valeur, la faire expirer, puis découvrir une liste, un hash et un compteur.

Avant de commencer

Remarque

Appuie sur Démarrer le lab dans la barre en haut de la leçon et attends qu'il indique qu'il est en marche. La base est un service nommé valkey, et le terminal l'atteint par ce nom. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de ton lab, l'une après l'autre, dans la même session. Pour suivre les commandes ou taper les tiennes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.

1. Dis bonjour à la base

Ce terminal n'a pas de client Valkey. La première commande en fabrique donc un tout petit : une fonction v qui envoie ses mots à la base, sur le port 6379, avec nc, puis affiche la réponse. Cette commande n'affiche rien elle-même. Ensuite, SET stocke une valeur sous une clé et la base répond +OK. GET la redemande : la réponse est $5, la longueur du texte, puis hello à la ligne suivante.

Commande
v() ( printf '%s\r\n' "$*" | nc -w 1 valkey 6379 )

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
v SET greeting hello

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
v GET greeting

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

2. Fais expirer une valeur

EX 5 veut dire que cette clé vit cinq secondes. Dans ton propre terminal, v TTL code affiche le nombre de secondes qui restent, si tu es rapide. Lance la deuxième commande après environ six secondes : la réponse est $-1, la façon dont la base dit qu'il n'y a plus rien. C'est ainsi qu'on fait expirer une session de connexion.

Commande
v SET code 1234 EX 5

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
v GET code

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

3. Une liste, un hash et un compteur

RPUSH ajoute à la fin d'une liste et répond par la longueur de la liste, ici :3. HSET stocke des champs nommés dans une seule clé, un hash, et répond par le nombre de champs ajoutés, ici :2. INCR ajoute 1 à un nombre et répond par la nouvelle valeur, ici :1 : appuie encore et tu obtiens :2. Même si mille visiteurs arrivent en même temps, le compte reste exact. Dans ton propre terminal, v LRANGE tasks 0 -1 relit la liste et v HGETALL user:1 relit le hash. Une réponse qui commence par : est un nombre, et une réponse qui commence par $ est un texte.

Commande
v RPUSH tasks wake eat code

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
v HSET user:1 name Ada born 1815

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
v INCR visits

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

4. Vois ce qui reste

Appuie sur Arrêter le lab dans la barre du lab, puis de nouveau sur Démarrer le lab. Le nouveau terminal a oublié v : appuie sur le premier Exécuter de l'étape 1 pour la refaire, puis sur celui de v GET greeting. La valeur est toujours hello, et code a expiré depuis longtemps. Valkey garde tout en mémoire, ce qui le rend rapide. Il note aussi chaque écriture dans un fichier, sur un volume nommé que la plateforme sauvegarde, pour reconstruire la mémoire au démarrage. Sans ce fichier, la base repartirait vide à chaque fois.

Pour les enseignants

Astuce

Cette leçon est un petit exemple de leçon travaillée dans un lab : les étapes et les boutons Exécuter sont la leçon, et le lab est la copie de chaque élève. Le lab est un petit service et un volume nommé, et rien ici ne se corrige tout seul : l'élève rend les réponses de sa propre session, une clé avec une expiration et TTL, une liste, un hash et un compteur, avec une phrase sur l'effet de l'expiration et sur ce qui reste après un arrêt et un démarrage. Copiez-la dans votre propre module et modifiez-la, ou créez-en une de zéro avec le menu Lab du créateur de leçons.

À propos de ce labo et de sa source: Lab Valkey : apprendre un magasin clé-valeur compatible Redis, avec expiration, listes et compteurs

Vous enseignez à une classe ? Proposez ces leçons à vos élèves avec correction et un labo pour chaque élève.