Appearance
Kapitel 5: String-Befehle (am häufigsten verwendet)
In diesem Kapitel lernst du die wichtigsten Befehle für den String-Datentyp in Redis.
5.1 Kernbefehle (unverzichtbar)
Schlüssel-Wert-Paar setzen
bash
# Syntax
SET schlüssel wert
# Beispiel
SET name "Max"
# Ausgabe: OK
# Mit Ablaufzeit setzen
SET name "Max" EX 60
# Setzt "name" mit 60 Sekunden Ablaufzeit
# Nur setzen, wenn der Schlüssel noch nicht existiert
SETNX name "Max"
# Nur erfolgreich, wenn "name" noch nicht existiertSET-Optionen:
EX Sekunden: Ablaufzeit in SekundenPX Millisekunden: Ablaufzeit in MillisekundenNX: Nur setzen, wenn nicht existiertXX: Nur setzen, wenn bereits existiert
Wert abrufen
bash
# Syntax
GET schlüssel
# Beispiel
GET name
# Ausgabe: "Max"
# Wenn Schlüssel nicht existiert
GET nicht_existierend
# Ausgabe: (nil)Schlüssel setzen und Ablaufzeit festlegen
bash
# Methode 1: SET mit EX-Option
SET code "1234" EX 60
# Setzt code="1234" mit 60 Sekunden Ablaufzeit
# Methode 2: SET + EXPIRE
SET code "1234"
EXPIRE code 60
# Methode 3: SETEX (kürzer)
SETEX code 60 "1234"Mehrere Schlüssel auf einmal setzen
bash
# Syntax
MSET schlüssel1 wert1 schlüssel2 wert2 ...
# Beispiel
MSET user:1 "Max" user:2 "Anna" user:3 "Lisa"
# Setzt 3 Schlüssel auf einmal (effizienter als 3x SET)Mehrere Schlüssel auf einmal abrufen
bash
# Syntax
MGET schlüssel1 schlüssel2 ...
# Beispiel
MGET user:1 user:2 user:3
# Ausgabe:
# 1) "Max"
# 2) "Anna"
# 3) "Lisa"String anhängen
bash
# Syntax
APPEND schlüssel anhang
# Beispiel
SET name "Max"
APPEND name " Mustermann"
GET name
# Ausgabe: "Max Mustermann"Stringlänge abrufen
bash
# Syntax
STRLEN schlüssel
# Beispiel
SET name "Max"
STRLEN name
# Ausgabe: (integer) 3
SET beschreibung "Hallo Redis Welt"
STRLEN beschreibung
# Ausgabe: (integer) 18Zahl hochzählen/herunterzählen
bash
# Um 1 hochzählen
INCR zähler
# Erhöht den Wert um 1
# Um 1 herunterzählen
DECR zähler
# Verringert den Wert um 1
# Um n hochzählen
INCRBY zähler 5
# Erhöht den Wert um 5
# Um n herunterzählen
DECRBY zähler 3
# Verringert den Wert um 3Beispiel:
bash
SET besucher 100
INCR besucher
# besucher ist jetzt 101
INCRBY besucher 10
# besucher ist jetzt 111
DECR besucher
# besucher ist jetzt 110
DECRBY besucher 5
# besucher ist jetzt 105Teilstring abrufen
bash
# Syntax
GETRANGE schlüssel start ende
# Beispiel
SET name "Max Mustermann"
GETRANGE name 0 2
# Ausgabe: "Max"
GETRANGE name 4 -1
# Ausgabe: "Mustermann" (-1 bedeutet das letzte Zeichen)Teilstring überschreiben
bash
# Syntax
SETRANGE schlüssel offset neuer_string
# Beispiel
SET name "Max Mustermann"
SETRANGE name 4 "Müller"
GET name
# Ausgabe: "Max Müllerann" (überschreibt ab Position 4)5.2 Anwendungsszenarien: Praxisbeispiele
Szenario 1: Verifizierungscode speichern
bash
# Verifizierungscode mit 5 Minuten Ablaufzeit speichern
SET verify:123456 "834792" EX 300
# Verifizierungscode abrufen
GET verify:123456
# Verifizierungscode löschen (nach Verwendung)
DEL verify:123456Szenario 2: Seitenaufrufzähler
bash
# Zähler initialisieren
SET page:home:views 0
# Bei jedem Seitenaufruf hochzählen
INCR page:home:views
# Aktuelle Aufrufe abrufen
GET page:home:viewsSzenario 3: Benutzersitzung speichern
bash
# Sitzungsdaten mit 1 Stunde Ablaufzeit speichern
SET session:abc123 "{id: 1, name: 'Max', role: 'admin'}" EX 3600
# Sitzung prüfen
EXISTS session:abc123
GET session:abc123
# Sitzung verlängern
EXPIRE session:abc123 3600Anfänger-Fehlerquellen
Fehler 1: String-Anhängung falsch angewendet
bash
# Falsch: Schreibt nicht anhängen
SET name "Max"
SET name "Anna"
GET name
# Ausgabe: "Anna" (überschreibt!)
# Richtig: APPEND verwenden
SET name "Max"
APPEND name " Anna"
GET name
# Ausgabe: "Max Anna"Fehler 2: INCR/DECR für nicht-numerische Werte verwendet
bash
# Falsch
SET name "Max"
INCR name
# Fehler: (error) ERR value is not an integer or out of range
# Richtig
SET alter 25
INCR alter
# Ausgabe: (integer) 26Fehler 3: Ablaufzeit falsch gesetzt
bash
# Falsch: EXPIRE nicht aufgerufen
SET code "1234"
# code läuft nie ab!
# Richtig: Ablaufzeit setzen
SET code "1234" EX 60
# oder
SET code "1234"
EXPIRE code 60Zusammenfassung
In diesem Kapitel haben wir:
- ✅ Die wichtigsten String-Befehle gemeistert (SET, GET, MSET, MGET, etc.)
- ✅ Gelernt, wie man Ablaufzeiten setzt
- ✅ Praxisbeispiele für Verifizierungscodes und Zähler kennengelernt
- ✅ Häufige Anfängerfehler verstanden
Im nächsten Kapitel werden wir die Hash-Befehle lernen!
Übungen
Praktische Übung:
- Erstelle einen String-Schlüssel für einen Verifizierungscode mit 5 Minuten Ablaufzeit
- Erstelle einen Seitenaufrufzähler und erhöhe ihn mehrfach
- Verwende APPEND, um einen String zu erweitern
- Verwende MSET und MGET für mehrere Schlüssel
Szenario-Übung:
- Simuliere eine Benutzer-Sitzung mit Ablaufzeit
- Erstelle einen Zähler für eine API-Ratebegrenzung
Fehlerbehebung:
- Versuche, INCR auf einen nicht-numerischen String anzuwenden
- Beobachte die Fehlermeldung
- Korrigiere den Fehler
