Jedes Beispiel ist zugleich ein Test: der Katalog läuft im Testlauf gegen einen echten Server und muss sein hinterlegtes Ergebnis
liefern — was hier steht, ist genau das, was ausgeführt wird.
Zeichenketten
SET, GET und INCR
Zeichenketten sind der Grundtyp: SET/GET speichern und lesen, INCR zählt eine Zahl-Zeichenkette hoch.
SET pruefstand:demo:string:gruss "Hallo Welt"
GET pruefstand:demo:string:gruss
INCR pruefstand:demo:string:zaehler
INCR pruefstand:demo:string:zaehler
Erwartetes Ergebnis
Befehl | Antwort
SET pruefstand:demo:string:gruss "Hallo Welt" | OK
GET pruefstand:demo:string:gruss | Hallo Welt
INCR pruefstand:demo:string:zaehler | 1
INCR pruefstand:demo:string:zaehler | 2
Hashes
HSET, HGET und HGETALL
Ein Hash hält mehrere Feld/Wert-Paare unter einem Schlüssel.
HSET pruefstand:demo:hash:kunde name "Anna" ort "Bern"
HGET pruefstand:demo:hash:kunde name
HGETALL pruefstand:demo:hash:kunde
Erwartetes Ergebnis
Befehl | Antwort
HSET pruefstand:demo:hash:kunde name "Anna" ort "Bern" | 2
HGET pruefstand:demo:hash:kunde name | Anna
HGETALL pruefstand:demo:hash:kunde | [name, Anna, ort, Bern]
Listen
RPUSH, LRANGE und LPOP
Eine Liste hält Werte in Einfügereihenfolge; RPUSH hängt hinten an, LPOP nimmt vorne weg.
RPUSH pruefstand:demo:liste:aufgaben "Kochen" "Putzen" "Lesen"
LRANGE pruefstand:demo:liste:aufgaben 0 -1
LPOP pruefstand:demo:liste:aufgaben
Erwartetes Ergebnis
Befehl | Antwort
RPUSH pruefstand:demo:liste:aufgaben "Kochen" "Putzen" "Lesen" | 3
LRANGE pruefstand:demo:liste:aufgaben 0 -1 | [Kochen, Putzen, Lesen]
LPOP pruefstand:demo:liste:aufgaben | Kochen
Mengen
SADD, SCARD und SISMEMBER
Eine Menge hält jeden Wert höchstens einmal — ein zweites SADD desselben Werts zählt nicht mit.
SADD pruefstand:demo:menge:farben "rot" "gruen" "blau" "rot"
SCARD pruefstand:demo:menge:farben
SISMEMBER pruefstand:demo:menge:farben "gruen"
Erwartetes Ergebnis
Befehl | Antwort
SADD pruefstand:demo:menge:farben "rot" "gruen" "blau" "rot" | 3
SCARD pruefstand:demo:menge:farben | 3
SISMEMBER pruefstand:demo:menge:farben "gruen" | 1
Sortierte Mengen
ZADD, ZRANGE WITHSCORES und ZSCORE
Eine sortierte Menge hält jeden Wert mit einer Zahl (dem Rang); ZRANGE liest sie nach Rang aufsteigend.
ZADD pruefstand:demo:zmenge:rangliste 10 "Anna" 25 "Beat" 15 "Carla"
ZRANGE pruefstand:demo:zmenge:rangliste 0 -1 WITHSCORES
ZSCORE pruefstand:demo:zmenge:rangliste "Beat"
Erwartetes Ergebnis
Befehl | Antwort
ZADD pruefstand:demo:zmenge:rangliste 10 "Anna" 25 "Beat" 15 "Carla" | 3
ZRANGE pruefstand:demo:zmenge:rangliste 0 -1 WITHSCORES | [Anna, 10, Carla, 15, Beat, 25]
ZSCORE pruefstand:demo:zmenge:rangliste "Beat" | 25
Ablauf
EXPIRE, TTL und PERSIST
EXPIRE setzt eine Lebensdauer in Sekunden, TTL fragt sie ab, PERSIST nimmt sie wieder weg.
SET pruefstand:demo:ablauf:sitzung "aktiv"
EXPIRE pruefstand:demo:ablauf:sitzung 100
TTL pruefstand:demo:ablauf:sitzung
PERSIST pruefstand:demo:ablauf:sitzung
TTL pruefstand:demo:ablauf:sitzung
Erwartetes Ergebnis
Befehl | Antwort
SET pruefstand:demo:ablauf:sitzung "aktiv" | OK
EXPIRE pruefstand:demo:ablauf:sitzung 100 | 1
TTL pruefstand:demo:ablauf:sitzung | 100
PERSIST pruefstand:demo:ablauf:sitzung | 1
TTL pruefstand:demo:ablauf:sitzung | -1