EMZETT.
Login

Redis und Key-Value-Speicher im Arbeitsspeicher

Kurz: Redis speichert Daten als Schlüssel-Wert-Paare im Arbeitsspeicher und antwortet dadurch in Bruchteilen einer Millisekunde; typisch für Caches, Sitzungen und Zähler.

Genauer: Ein Key-Value-Speicher ist die einfachste Datenbankform: Zu einem Schlüssel gehört ein Wert. Redis hält Daten im RAM (optional auf Platte gesichert) und bietet neben Texten auch Listen, Mengen, Hashes, sortierte Mengen und Streams. Sehr schnell, aber der Speicher ist begrenzt und teurer als Festplatten.

Im Detail

Typische Einsatzzwecke

  • Cache: Ergebnisse teurer Datenbankabfragen für Sekunden bis Stunden speichern.
  • Sitzungen: Login-Zustand von Benutzern.
  • Zähler und Rate Limiting: INCR zählt atomar Zugriffe pro Zeitfenster.
  • Bestenlisten: sortierte Mengen (ZADD, ZRANGE).
  • Warteschlangen und Pub/Sub: einfache Nachrichtenverteilung.
  • Verteilte Sperren.

Beispiele

SET nutzer:42:name "Mia" EX 3600   # läuft nach 1 Stunde ab
GET nutzer:42:name
INCR aufrufe:startseite
LPUSH aufgaben "mail-senden"
ZADD rangliste 150 "Mia"

EX setzt eine Ablaufzeit (TTL), nach der der Schlüssel automatisch verschwindet; ideal für Caches.

Persistenz und Betrieb

Ohne Maßnahmen gehen Daten beim Neustart verloren. Redis kann Snapshots (RDB) oder ein Append-Only-Log (AOF) schreiben. Für Ausfallsicherheit nutzt man Replikation und Redis Sentinel/Cluster. Als Cache ist Datenverlust meist verkraftbar; als einzige Datenquelle ist Redis selten geeignet. Verwaltete Dienste (zum Beispiel Upstash, Elasticache) nehmen den Betrieb ab.

Hinweise

Wähle sinnvolle Schlüsselnamen (bereich:id:feld), setze immer Ablaufzeiten für Cache-Daten, achte auf Cache-Invalidierung und schütze den Server (Passwort, nicht ins Internet öffnen). Alternativen: Memcached (nur einfache Werte), Valkey (freier Redis-Fork), Dragonfly.

Siehe auch: Upstash Redis, Caching-Strategien, Rate Limiting, NoSQL-Datenbanken