Was du machst
Ein Key-Value-Store speichert einen Wert unter einem Namen und gibt ihn zurück, wenn du nach dem Namen fragst. Websites nutzen ihn, um sich die Sitzung eines Besuchs zu merken oder Seitenaufrufe zu zählen, weil er in einem Bruchteil einer Millisekunde antwortet. Valkey ist ein kostenloser, der dieselben Befehle versteht wie Redis. Du speicherst und holst einen Wert, lässt einen Wert ablaufen und lernst eine Liste, einen Hash und einen Zähler kennen.
Bevor du anfängst
Notiz
Klicke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Der Store ist ein Dienst namens valkey, und das Terminal erreicht ihn unter diesem Namen. Jede Schaltfläche Ausführen unten tippt ihren Befehl ins Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, klicke in der Leiste auf Terminal öffnen (neuer Tab).
1. Sag dem Store hallo
Dieses Terminal hat keinen Valkey-Client. Der erste Befehl baut daher einen winzigen: eine Funktion namens v, die ihre Wörter mit nc an den Store auf Port 6379 schickt und ausgibt, was zurückkommt. Er gibt selbst nichts aus. Dann speichert SET einen Wert unter einem Schlüssel, und der Store antwortet +OK. GET fragt ihn ab: Die Antwort ist $5, die Länge der Antwort, und in der nächsten Zeile hello.
v() ( printf '%s\r\n' "$*" | nc -w 1 valkey 6379 )Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
v SET greeting helloHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
v GET greetingHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
2. Lass einen Wert ablaufen
EX 5 sagt, dass dieser Schlüssel fünf Sekunden lebt. v TTL code in deinem eigenen Terminal gibt aus, wie viele Sekunden noch übrig sind, wenn du schnell bist. Führe den zweiten Befehl nach etwa sechs Sekunden aus: Die Antwort ist $-1, die Art des Stores zu sagen, dass dort nichts ist. So läuft eine Anmeldesitzung ab.
v SET code 1234 EX 5Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
v GET codeHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
3. Eine Liste, ein Hash und ein Zähler
RPUSH hängt etwas ans Ende einer Liste an und antwortet, wie lang die Liste jetzt ist: :3. HSET speichert benannte Felder in einem Schlüssel, einem Hash, und antwortet, wie viele es hinzugefügt hat: :2. INCR zählt eine Zahl um eins hoch und antwortet mit dem neuen Wert: :1. Klicke noch einmal für :2. Auch tausend Besuche gleichzeitig würden genau gezählt. In deinem eigenen Terminal liest v LRANGE tasks 0 -1 die Liste zurück und v HGETALL user:1 den Hash. Eine Antwort, die mit : beginnt, ist eine Zahl, und mit $ ein Stück Text.
v RPUSH tasks wake eat codeHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
v HSET user:1 name Ada born 1815Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
v INCR visitsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
4. Sieh, was bleibt
Klicke in der Lab-Leiste auf Lab beenden und dann wieder auf Lab starten. Das neue Terminal hat v vergessen. Klicke daher auf das erste Ausführen aus Schritt 1, um es neu anzulegen, und dann auf dessen v GET greeting: Es ist immer noch hello, und code ist längst abgelaufen. Valkey hält alles im Arbeitsspeicher, deshalb ist es schnell. Jeden Schreibvorgang protokolliert es in einer Datei in einem benannten Volume, das die Plattform sichert, damit es den Arbeitsspeicher beim Start wieder aufbauen kann. Ein Store ohne so eine Datei würde jedes Mal leer starten.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab abläuft: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Das Lab besteht aus einem kleinen Dienst und einem benannten Volume, und nichts hier bewertet sich selbst: Die lernende Person gibt die Antworten ihrer eigenen Sitzung ab, einen Schlüssel mit Ablauf und TTL, eine Liste, einen Hash und einen Zähler, dazu einen Satz darüber, was der Ablauf bewirkt hat und was nach einem Beenden und Starten erhalten blieb. Kopiere die Lektion in dein eigenes Modul und ändere sie, oder baue im Lektionseditor über das Menü Lab eine neue von Grund auf.