Remote Dictionary Server – Redis – ist ein In-Storage-Datenspeicher, der als Schlüsselwert-datenbank, Nachrichtenbroker, Cache und Warteschlange verwendet wird. Er ist eine beliebte Wahl für eine Reihe von Funktionen wie zum Beispiel Pub-/Sub-Apps, Caching, Messaging, Echtzeit-Analysen und Session-Management geworden. Zu den realen Anwendungen für die Datenstruktur gehören das Gesundheitswesen, Finanzdienstleistungen und das Internet der Dinge (IoT).  

Räumliche Indizes, HyperLogLogs, Sets, Streams, Listen und Bitmaps sind einige der von dem Server unterstützten Datenstrukturen. Die Software ist Open-Source mit einer 3-Klausel-BSD-Lizenz. Salvatore SanFilippo entwickelte das Projekt für sein Startup als Lösung für ein Datenbankproblem. Er benötigte eine Datenstruktur, die seinen Echtzeit-Weblog-Analyzer skalieren konnte. Die erste Programmiersprache war Tcl, aber sie änderte sich später in C.

Es gibt auch serverseitige Lua-Skripts in Version 2.6. Java, Ruby und R sind nur einige der unterstützten Sprachen. Das strukturierte Speichersystem wurde entwickelt, um abstrakte Datentypen zu speichern, und nicht nur Zeichenfolgen. Sätze von Zeichenfolgen, Hashtabellen und Listen von Zeichenfolgen sind einige der unterstützten Datentypen.  

Funktionsweise von Redis

Anstelle von SDD oder Festplattenspeichern, wie sie von anderen strukturierten Datenbanken verwendet werden, verwaltet Redis seine Daten in einem internen Speicher. Aus diesem Grund beantwortet der Server Anfragen innerhalb von Mikrosekunden, da es keine Zeitverzö-gerung gibt. Der strukturierte Speicher verfügt über mehrere Ebenen der On-Disc-Persistenz. AOF-Persistenz ermöglicht es dem Server, jeden empfangenen Vorgang zu protokollieren, den er dann beim Start wiedergibt. Dabei wird der ursprüngliche Datensatz neu erstellt. Die Befehlsprotokollierung erfolgt nur in „append-only“ (nur hinzufügen). Die RDB-Option führt Momentaufnahmen in Intervallen durch.

Alternativ können Sie RDB und AOF auch gleichzeitig verwenden. In diesem Fall übernimmt AOF die Datensatz-Rekonstruktion, da sie die vollständige Version bereitstellt. Die Datenstruktur bietet auch die Möglichkeit, die Persistenz zu deaktivieren. Diese Option ist geeignet, wenn Sie nur dann Daten speichern möchten, wenn der Server läuft.  

Redis gehört zu den besten Datenstrukturen, die Caching und Speicherung kombinieren. Es wurde entwickelt, um Daten von der Speicherdiskette lesbar zu machen. Das Datenspeicher-format erlaubt keinen zufälligen Zugriff. Ein weiterer wesentlicher Unterschied besteht darin, dass die Software nicht erfordert, dass Benutzer eine Abfrage eingeben, damit das Datenbank-modul ausgeführt werden kann. Es funktioniert mit bestimmten Befehlen für bestimmte Datentypen. Daher müssen Daten für einen schnellen Abruf verfügbar sein.

Die Master-Replikat-Replikation ist ein weiteres Element des strukturierten Speicherns. Das bedeutet, dass ein Replikat als Master für ein anderes fungieren kann. Mithilfe des Servers wird ein Replikationsbaum mit einer Wurzel erstellt. Replikate aus der Datenstruktur ermöglichen Schreibkonfigurationen. Seit 2015 gibt es die Software auch mit Clustering in Version 3.0.