Skip to content

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 existiert

SET-Optionen:

  • EX Sekunden: Ablaufzeit in Sekunden
  • PX Millisekunden: Ablaufzeit in Millisekunden
  • NX: Nur setzen, wenn nicht existiert
  • XX: 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) 18

Zahl 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 3

Beispiel:

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 105

Teilstring 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:123456

Szenario 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:views

Szenario 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 3600

Anfä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) 26

Fehler 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 60

Zusammenfassung

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

  1. 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
  2. Szenario-Übung:

    • Simuliere eine Benutzer-Sitzung mit Ablaufzeit
    • Erstelle einen Zähler für eine API-Ratebegrenzung
  3. Fehlerbehebung:

    • Versuche, INCR auf einen nicht-numerischen String anzuwenden
    • Beobachte die Fehlermeldung
    • Korrigiere den Fehler

Frei für alle Anfänger