Redis ist eine Open-Source Datenstruktur, die als Datenbank, Cache und Message Broker verwendet werden kann. Es supportet Datenstrukturen wie Strings, Hashes, Listen, Datensätze und sortierte Datensätze mit größeren Abfragen, Bitmaps, Hyperloglogs und Geo Indizes.
Redis hat bereits implementiertes Lua Scripting, LRU Vertreibung, Transaktionen und verschiedene Arten von On-Disk Persistence, wodurch es per Redis Sentinel und automatisierte Partitionierung mit Redis Cluster ständige Verfügbarkeit aufweist.
Man kann beispielsweise folgende Abfragen ausführen: Einen String verlängern, eine Zahl in einem Hash erhöhen, ein Element einer Liste hinzufügen oder z.B. das Mitglied mit dem besten Ranking in einer sortierten Liste ausgeben.
Damit diese herausragende Performance erreicht werden kann, arbeitet Redis mit einer In-Memory-Datenbank. Abhängig von der Verwendung, können die Datensätze in einem regelmäßigen Zeitabstand auf einer Festplatte gespeichert oder ausgeführte Befehle mitgeschrieben werden. Diese Funktion kann optional deaktiviert werden.
Weitere Leistungen:
– Transaktionen
– Pub/Sub
– Lua Scripting
– Schlüssel mit einer begrenzten Lebensdauer
– LRU Vertreibung von Schlüsseln
– Automatisches Failover
Redis Kompatibel mit den meisten Programmiersprachen.
Geschrieben wurde Redis in ANSI C und es läuft auf POSIX Systemen wie Linux, BSD, OS X ohne externe Abhängigkeiten. Es wird empfohlen Linux zur Entwicklung zu nutzen, da Redis dort am meisten getestet und unter anderem auch entwickelt wurde. Es gibt keinen offiziellen Windows Support.