Redis unterscheidet sich von „herkömmlichen“ NoSQL-Datenspeichern, da es als Zusatzkomponente fungiert, die speziell zur Verbesserung der Anwendungsleistung entwickelt wurde. Zu den Unterscheidungsmerkmalen von Redis gehört unter anderem:
Redis-Cache-Sitzungen
Im Gegensatz zu NoSQL-Datenbanken wie MongoDB und PostgreSQL speichert Redis Daten im Hauptspeicher des Servers statt auf Festplatten und SSDs. Dies führt zu deutlich schnelleren Reaktionszeiten bei Lese- und Schreibvorgängen. Es trägt auch dazu bei, eine hohe Verfügbarkeit (besonders bei gemeinsamer Nutzung mit Redis Sentinel) und Skalierbarkeit von Services und Anwendungs-Workloads sicherzustellen.
Redis-Warteschlangen
Redis kann Aufgaben, deren Verarbeitung durch Web-Clients länger als gewöhnlich dauern würde, in eine Warteschlange stellen. Die Warteschlangenverwaltung für Multiprozess-Aufgaben ist in vielen der heutigen webbasierten Anwendungen üblich. Redis erleichtert die Implementierung automatisierter, in Python geschriebener Prozesse, die im Hintergrund von Anfrage-/Antwortzyklen ausgeführt werden.
Redis-Datentypen
Redis ist zwar aus technischer Sicht ein Schlüssel/Wert-Speicher. Eigentlich handelt es sich dabei aber um einen Datenstrukturserver, der mehrere Datentypen und -strukturen unterstützt. Dazu gehören unter anderem:
- Eindeutige und unsortierte String-Elemente
- Binary-safe-Daten
- HyperLog-Protokolle
- Bit-Arrays
- Hashes
- Listen
Handhabung von Redis-Clients
Redis bietet native Client-Integrationsfunktionen, die Entwicklern die Bearbeitung und Interaktion mit ihren Daten erleichtern. Derzeit sind in der Redis-Client-Bibliothek weit über 100 verschiedene Open-Source-Clients verfügbar. Darüber hinaus können Entwickler problemlos neue Integrationen hinzufügen, um zusätzliche Funktionen und Programmiersprachen zu unterstützen.