Skip to content

Kapitel 1: Redis Einführung

1.1 Was ist Redis?

Redis (REmote DIctionary Server) ist eine open-source, hochleistungsfähige, in-memory basierte Key-Value-Datenbank. Sie ist eine der beliebtesten NoSQL-Datenbanken und wird hauptsächlich für Caching und Datenspeicherung eingesetzt.

Kernmerkmale:

  • 🚀 Hohe Geschwindigkeit: Daten werden im Arbeitsspeicher gespeichert (RAM), Lese-/Schreibgeschwindigkeit bis zu 100.000+ Operationen pro Sekunde
  • 📦 Datentypen: Unterstützt verschiedene Datenstrukturen (String, Hash, List, Set, Sorted Set)
  • 💾 Persistenz: Daten können auf Festplatte gespeichert werden (RDB, AOF)
  • 🌐 Verteilt: Unterstützt Master-Slave-Replikation, Sentinel, Cluster
  • 🔧 Leichtgewichtig: Kompakte Installation, einfach zu konfigurieren

1.2 Warum soll man Redis lernen?

Kernvorteile:

VorteilBeschreibung
⚡ Hohe GeschwindigkeitMillionen Lese-/Schreibvorgänge pro Sekunde, ideal für Caching
📊 Vielfältige Datentypen5 Grunddatentypen + erweiterte Typen (Bitmap, HyperLogLog, GeoSpeicher)
💾 PersistenzUnterstützt RDB-Snapshots und AOF-Logs zur Datensicherung
🔄 HochverfügbarkeitMaster-Slave-Replikation, Sentinel, Cluster für verteilte Szenarien
🎯 Einfache BedienungIntuitive Befehle, schnelle Einarbeitung

Anwendungsszenarien:

  • 🌐 Webseiten-Caching: Startseiten-Cache, API-Daten-Cache, Datenbank-Entlastung
  • 👤 Sitzungsspeicherung: Benutzer-Login-Sitzungen, Warenkorb-Daten (verteilte Szenarien)
  • 🔢 Zähler & Rateneinschränkung: Seitenaufrufe, API-Limits, Verifizierungscode-Gültigkeit
  • 📨 Nachrichtenwarteschlangen: Einfache Nachrichtenbenachrichtigungen, asynchrone Aufgabenverarbeitung
  • 🤝 Backend-Integration: Zusammenarbeit mit PHP, Java, Python für hochparallele Projekte

1.3 Redis Anwendungsszenarien (häufige Szenarien für Anfänger)

Caching-Anwendungen

  • Startseiten-Cache von Webseiten
  • API-Daten-Cache
  • Reduzierung des Datenbankzugriffsdrucks

Sitzungsspeicherung

  • Benutzer-Login-Sitzungen
  • Warenkorb-Daten (angepasst für verteilte Szenarien)

Zähler und Rateneinschränkung

  • Seitenaufrufstatistiken
  • API-Rateneinschränkung
  • Verifizierungscode-Gültigkeitssteuerung

Nachrichtenwarteschlangen

  • Einfache Nachrichtenbenachrichtigungen
  • Asynchrone Aufgabenverarbeitung (Basis-Szenarien)

Angepasste Szenarien

  • Zusammenarbeit mit Backend-Sprachen wie PHP, Java, Python
  • Unterstützung von hochparallelen Projekten

1.4 Redis im Vergleich zu anderen Datenbanken/Caches (einfach zu verstehen für Anfänger)

Redis vs. MySQL

AspektRedisMySQL
SpeicherungIn-Memory (hochgeschwindigkeit)Festplatte (persistent)
TypNoSQL (nicht-relational)Relationale Datenbank
EinsatzCaching, HochgeschwindigkeitszugriffPersistente Datenspeicherung
BeziehungKomplementär (gemeinsam verwendet)Komplementär

Redis vs. Memcached

AspektRedisMemcached
DatentypenMehrere Typen unterstütztNur Strings
PersistenzUnterstützt PersistenzKeine Persistenz
FunktionenReichhaltigerEinfacher

Redis vs. MongoDB

AspektRedisMongoDB
FokusCaching und HochgeschwindigkeitszugriffSpeicherung unstrukturierter Daten
SzenarioCaching, EchtzeitanwendungenDokumentenspeicherung
LeistungSchneller (In-Memory)Relativ langsamer (Festplatte)

1.5 Lernvoraussetzungen

  • ✅ Keine tiefen Programmierkenntnisse erforderlich
  • ✅ Grundlegende Datenkonzepte verstehen
  • ✅ Einfache englische Wörter erkennen
  • ✅ MySQL-Grundlagen sind von Vorteil

1.6 Lernplan (Anfängerschwerpunkte)

┌─────────────────────────────────────────────────┐
│  Lernplan für Redis-Anfänger                    │
├─────────────────────────────────────────────────┤
│  1. Umgebung einrichten & Grundbefehle         │
│     ↓                                           │
│  2. Datenoperationen meistern                  │
│     ↓                                           │
│  3. Praxisprojekte umsetzen                    │
│     ↓                                           │
│  4. Persistenz & Verteilung verstehen          │
└─────────────────────────────────────────────────┘

Lernfokus:

  1. Zuerst Umgebung einrichten und Kernbefehle üben
  2. Dann Datenoperationen meistern
  3. Schließlich Praxisprojekte umsetzen und Persistenz/Verteilungsgrundlagen verstehen

1.7 Erste Redis-Operationen (einfache Praxis)

Schritt 1: Redis starten

bash
# Windows
redis-server.exe redis.windows.conf

# Linux/Mac
redis-server

Schritt 2: Mit Redis verbinden

bash
redis-cli

Schritt 3: Key-Value setzen

bash
SET name "Redis-Lernen"

Schritt 4: Key-Value abrufen

bash
GET name
# Ausgabe: "Redis-Lernen"

Schritt 5: Erste Hochgeschwindigkeits-Lese/Schreib-Operation erleben

bash
# Mehrere Schreibvorgänge
SET user:1 "Max"
SET user:2 "Anna"
SET user:3 "Lisa"

# Mehrere Lesevorgänge
GET user:1
GET user:2
GET user:3

Zusammenfassung

In diesem Kapitel haben wir:

  • ✅ Verstanden, was Redis ist und warum es beliebt ist
  • ✅ Die Hauptanwendungsszenarien von Redis kennengelernt
  • ✅ Den Unterschied zwischen Redis und anderen Datenbanken verstanden
  • ✅ Den Lernplan für Redis kennengelernt
  • ✅ Unsere erste Redis-Operation durchgeführt

Im nächsten Kapitel werden wir die Redis-Umgebung einrichten und mit der praktischen Arbeit beginnen!

Übungen

  1. Theoretische Fragen:

    • Was sind die Hauptmerkmale von Redis?
    • Nenne 3 typische Anwendungsszenarien für Redis.
    • Was ist der Unterschied zwischen Redis und MySQL?
  2. Praktische Übung:

    • Installiere Redis auf deinem Computer (folge den Anweisungen in Kapitel 2)
    • Verbinde dich mit redis-cli
    • Führe die Beispielbefehle aus diesem Kapitel aus
    • Experimentiere mit verschiedenen Key-Value-Paaren
  3. Recherche:

    • Schau dir die offizielle Redis-Dokumentation an: https://redis.io/docs/
    • Finde heraus, welche großen Unternehmen Redis verwenden

Frei für alle Anfänger