← Zurück zur Bibliothek
Infrastructure Anbieter: Redis Ltd.

Redis

Redis (Remote Dictionary Server) ist ein Open-Source-In-Memory-Datenstrukturspeicher, der als Datenbank, Cache, Message Broker und Streaming-Engine verwendet wird. Bekannt für außergewöhnliche Leistung mit Sub-Millisekunden-Antwortzeiten, unterstützt Redis vielfältige Datenstrukturen (Strings, Hashes, Listen, Sets, Sorted Sets, Bitmaps, Streams) und bietet Persistenz-Optionen für Dauerhaftigkeit. Redis ist essentiell für moderne Anwendungen, die Hochgeschwindigkeits-Datenzugriff, Echtzeit-Analytik, Session-Management und verteiltes Caching erfordern.

Redis
redis cache in-memory-datenbank key-value-store message-broker datenstrukturen

Was ist Redis?

Redis ist ein Open-Source-In-Memory-Datenstrukturspeicher, der sich durch Hochgeschwindigkeits-Datenzugriff mit Sub-Millisekunden-Latenz auszeichnet. 2009 von Salvatore Sanfilippo erstellt, speichert Redis Daten primär im RAM für ultra-schnelle Lese-/Schreiboperationen und bietet optionale Persistenz auf Festplatte für Dauerhaftigkeit. Im Gegensatz zu traditionellen Datenbanken, die Daten auf Festplatte speichern, hält Redis das gesamte Dataset im Speicher, was einen Durchsatz von Millionen Operationen pro Sekunde ermöglicht. Dies macht Redis ideal für Anwendungsfälle, die Echtzeit-Performance erfordern: Caching, Session-Storage, Leaderboards, Echtzeit-Analytik, Message-Queuing und Streaming-Datenverarbeitung.

Redis unterstützt umfangreiche Datenstrukturen über einfache Key-Value-Paare hinaus—Strings, Hashes (Maps), Listen, Sets, Sorted Sets (mit Scores), Bitmaps, Hyperloglogs, Geospatial-Indizes und Streams. Diese Vielseitigkeit ermöglicht Entwicklern, komplexe Anwendungsanforderungen direkt in Redis zu modellieren, anstatt Daten für die Speicherung zu transformieren. Redis bietet auch Pub/Sub-Messaging, Lua-Scripting für serverseitige Logik, Transaktionen und eingebaute Replikation für hohe Verfügbarkeit. Mit Redis Cluster skaliert es horizontal über mehrere Knoten, und mit Redis Sentinel bietet es automatisches Failover für Produktionsresilienz.

Kernfunktionen und Datenstrukturen

Datenstrukturen

  • Strings - Binär-sichere Strings bis 512MB (Caching, Zähler)
  • Hashes - Feld-Wert-Maps (Objekte, Benutzerprofile)
  • Listen - Verkettete Listen für Queues und Timelines
  • Sets - Ungeordnete eindeutige String-Sammlungen (Tags, eindeutige Besucher)
  • Sorted Sets - Geordnete Sets mit Scores (Leaderboards, Priority-Queues)
  • Bitmaps - Bit-Level-Operationen für Analytik
  • HyperLogLogs - Probabilistisches Zählen für eindeutige Elemente
  • Streams - Append-only Logs für Event Sourcing und Messaging
  • Geospatial - Standortbasierte Daten mit Radius-Abfragen

Hauptfähigkeiten

  • Sub-Millisekunden-Latenz - Typische Antwortzeiten <1ms
  • Persistenz - RDB-Snapshots und AOF (Append-Only File) für Dauerhaftigkeit
  • Replikation - Master-Replica für Read-Skalierung und Failover
  • Redis Sentinel - Automatisches Failover und Monitoring
  • Redis Cluster - Horizontale Skalierung und automatisches Sharding
  • Pub/Sub - Nachrichten-Broadcasting zu abonnierten Clients
  • Lua-Scripting - Serverseitige atomare Operationen
  • Transaktionen - MULTI/EXEC für atomare Befehlssequenzen
  • TTL (Time-To-Live) - Automatische Schlüssel-Ablauf
  • Pipelining - Batch-Befehle für reduzierte Latenz

Anwendungsfälle

Redis treibt kritische Infrastruktur für Anwendungen weltweit an:

  • Caching - Datenbankabfrageergebnisse, API-Antworten, Session-Daten
  • Session-Storage - Benutzersessions mit automatischer Ablauf
  • Echtzeit-Analytik - Zählen, Aggregationen, Zeitreihen-Daten
  • Leaderboards - Gaming-Scores, Rankings mit Sorted Sets
  • Message-Queues - Task-Queues, Job-Processing mit Listen
  • Pub/Sub-Messaging - Chat-Anwendungen, Benachrichtigungssysteme
  • Rate Limiting - API-Throttling mit Sliding-Window-Zählern
  • Geospatiale Anwendungen - Standortbasierte Services, Ride-Sharing
  • ML-Modell-Serving - Feature-Caching, Vorhersageergebnisse
  • Verteiltes Locking - Koordination über Microservices hinweg

Redis für KI/ML-Anwendungen

Redis spielt mehrere Rollen in KI/ML-Architekturen. Als Feature Store cached Redis häufig abgerufene Features für Echtzeit-Inferenz und reduziert Latenz von Hunderten Millisekunden (Datenbankabfrage) auf Sub-Millisekunden (Redis). Redis Streams ermöglichen Echtzeit-ML-Pipelines, ingest Daten aus Quellen, puffern für Batch-Processing und verteilen an Worker. Redis dient als Cache für Modellvorhersagen und speichert aktuelle Inferenzergebnisse, um redundante Berechnungen zu vermeiden. Das Pub/Sub-System koordiniert verteilte Training-Worker, und Sorted Sets verwalten Priority-Queues für Experiment-Scheduling. Mit dem RedisAI-Modul kann Redis sogar ML-Modelle direkt mit TensorFlow, PyTorch oder ONNX ausführen.

Redis vs. Memcached und traditionelle Datenbanken

Im Vergleich zu Memcached (ein anderer In-Memory-Cache) bietet Redis reichere Datenstrukturen, Persistenz-Optionen, Replikation und Pub/Sub-Fähigkeiten. Memcached ist einfacher und marginal schneller für einfaches Key-Value-Caching, aber Redis' Vielseitigkeit macht es für weit mehr Anwendungsfälle geeignet. Im Vergleich zu traditionellen Datenbanken (PostgreSQL, MySQL) opfert Redis komplexe Abfragen und ACID-Garantien für extreme Geschwindigkeit und Einfachheit. Redis ist kein Ersatz für relationale Datenbanken, sondern eine Ergänzung—verwendet für Caching, Sessions und Echtzeit-Workloads, während Datenbanken persistente, transaktionale Daten verwalten.

Redis Cluster ermöglicht horizontale Skalierung und sharded Daten über mehrere Knoten für Kapazität über Single-Server-RAM-Limits hinaus. Cluster-Modus beschränkt jedoch bestimmte Multi-Key-Operationen. Für Anwendungen, die starke Konsistenz und komplexe Transaktionen erfordern, bleiben traditionelle Datenbanken essentiell. Für geschwindigkeitskritische Pfade (Authentifizierung, API-Caching, Echtzeit-Features) ist Redis unverzichtbar.

Erste Schritte mit Redis

Installieren Sie Redis lokal mit Paketmanagern (apt, brew, yum) oder Docker (`docker run -d -p 6379:6379 redis`). Verbinden Sie sich mit redis-cli: `redis-cli ping` sollte "PONG" zurückgeben. Probieren Sie grundlegende Befehle: `SET key value`, `GET key`, `INCR counter`, `LPUSH queue item`, `HSET user:1 name John`. Redis-Clients existieren für alle großen Sprachen (Python: redis-py, Node.js: ioredis, Java: Jedis). Für Produktion verwenden Sie Redis Sentinel für hohe Verfügbarkeit oder Redis Cluster für horizontale Skalierung.

Verwaltete Redis-Services vereinfachen Operationen: AWS ElastiCache, Azure Cache für Redis, Google Cloud Memorystore, Redis Enterprise Cloud. Diese übernehmen Clustering, Failover, Backups und Monitoring. Für selbst-gehostete Bereitstellungen konfigurieren Sie Persistenz (RDB + AOF), richten Sie Replikation ein (Master-Replica), aktivieren Sie Sentinel für automatisches Failover und überwachen Sie mit Redis eingebautem INFO-Befehl oder Tools wie RedisInsight.

Integration mit 21medien-Services

21medien verwendet Redis umfassend in KI-Anwendungsarchitekturen. Wir implementieren Redis als Feature Store für Echtzeit-ML-Inferenz und reduzieren Latenz durch Caching von Embeddings und vorverarbeiteten Features. Unser Team stellt Redis für Caching von API-Antworten von LLMs bereit, speichert Konversationshistorie für Chatbots und verwaltet Rate Limits für KI-Services. Wir bieten Redis-Beratung, Architektur-Design (Single-Node vs. Cluster vs. Sentinel), Performance-Tuning und Integration mit ML-Pipelines. Wir spezialisieren uns auf Redis für Hochdurchsatz-Inferenz-Systeme, Echtzeit-Empfehlungs-Engines und verteilte KI-Anwendungsarchitekturen.

Preise und Zugang

Redis ist Open-Source (BSD-Lizenz) und kostenlos nutzbar. Self-Hosting-Kosten sind nur Infrastruktur (Compute + RAM). Verwaltete Services-Preise: AWS ElastiCache ~0,017 $/Stunde für cache.t3.micro (0,5GB RAM) bis 6,80 $/Stunde für cache.r6g.4xlarge (104GB RAM). Azure Cache für Redis ~0,02 $/Stunde für Basic C0 (250MB) bis 13 $/Stunde für Premium P5 (120GB). Google Cloud Memorystore ~0,049 $/GB-Stunde (~35 $/Monat pro GB). Redis Enterprise Cloud (von Redis Ltd.) beginnt ~0,119 $/GB-Stunde mit erweiterten Features (Active-Active-Replikation, Module). Für KI-Workloads budgetieren Sie 100-1000 $/Monat für Caching-Layer, 1000-5000 $/Monat für Feature Stores im großen Maßstab. Self-Hosted auf Cloud-VMs: 50-500 $/Monat je nach Instanzgröße.

Offizielle Ressourcen

https://redis.io