Datenstrukturen

Redis-Datenstrukturen wurden für die Bedürfnisse von Entwicklern konzipiert. Im Gegensatz zu einfachen Key-Value-Stores bietet es flexible Möglichkeiten zur Modellierung Ihrer Daten für eine Vielzahl an Use Cases in modernen Anwendungen. Diese technisch ausgereiften Datenstrukturen ermöglichen es Ihnen, mit nur weniger Zeilen elegantem Codes Anwendungen zu entwickeln, um Ihre Daten zu speichern, auf sie zuzugreifen und sie zu nutzen, und eine leistungsstarke und schnelle In-Memory-Verarbeitung zu ermöglichen.

Diese Datenstrukturen vermeiden den Overhead, der mit der Übersetzung zwischen Anwendungsobjekten in Datenbankentitäten für jede Datenbankoperation verbunden ist.

Redis bietet Strings, Hashes, Listen, Sets, Sorted Sets, Bitmaps, Bitmaps, Bitfelder, HyperLogLog, Geospatiale Indizes und Streams als native Datenstrukturen an. Für jede Datenstruktur besitzt Redis dedizierte Befehle, um die effektive Ausführung von Multi-Typ-Operationen zu ermöglichen.

Strings

Einer der vielseitigsten Bausteine von Redis, Redis Strings, ist eine binärsichere Datenstruktur. Es kann jede Art von Daten speichern – eine Zeichenfolge, eine Ganzzahl, eine Fließkommazahl, ein JPEG-Bild, ein serialisiertes Ruby-Objekt oder alles andere, was sich darstellen läßt. Sie können auf einem ganzen String oder Teilen davon operieren, und ganze Zahlen und Gleitkommazahlen inkrementieren oder dekrementieren.


Sets

Redis Sets Datenstruktur speichert einen eindeutigen Satz von Elementen. Mit Sets können Sie Elemente hinzufügen, abrufen oder entfernen, das Enthaltensein überprüfen oder ein zufälliges Element auswählen. Sie können auch Operationen wie Schnittmenge, Vereinigung und Mengendifferenz ausführen und die Mengenkardinalität berechnen.


Sorted Sets

Redis Sorted Sets enthalten einen einzigartigen Satz von Elementen, die nach der Größe von Fließkommazahlen (Scores) sortiert sind. So wie bei Sets können Sie bei Sorted Sets einzelne Elemente hinzufügen, abrufen oder entfernen und Mengenoperationen wie Vereinigung, Schnittmenge, Satzdifferenz und Kardinalitätsberechnung durchführen. Außerdem können Sie die Menge auf der Grundlage von Score oder Mitgliederwert, Aggregat, Filter und Ordnungsergebnissen abfragen.


Lists

Die Redis-Listen enthalten Sammlungen von String-Elementen, die nach der Reihenfolge ihrer Einfügung sortiert sind. Entfernen Sie Elemente von beiden Seiten einer Liste, verkürzen Sie sie basierend auf Offsets, lesen Sie einzelne oder mehrere Elemente, oder suchen oder entfernen Sie Elemente nach Wert und Position. Sie können auch wartende Aufrufe für asynchrone Nachrichtenübertragungen durchführen.


Hashes

Ähnlich wie Dokumente in einem Dokumentenspeicher oder Zeilen in einer relationalen Datenbank speichert die Redis-Hashes-Struktur einen Satz von Feld-Wert-Paaren. Es bietet die Möglichkeit, einzelne Elemente hinzuzufügen, abzurufen oder zu entfernen und den gesamten Hash abzurufen, oder ein oder mehrere Felder im Hash als Zähler zu verwenden.


Bitmaps

Redis Bitmaps ist eine kompakte Datenstruktur zur Speicherung binärer Logik und Zustände. Es bietet Befehle zum Abrufen und Setzen eines Bit-Wertes an einer bestimmten Position und zur Ausführung UNDODERXODERund NICHT Operationen zwischen mehreren Bitmaps.


Bitfields

Bitfields bieten eine effiziente, kompakte Möglichkeit, mehrere Zähler in einem einzigen Array zu implementieren. Dadurch können Zähler an einer bestimmten Position inkrementiert und dekrementiert werden, und Flags überlaufen, wenn der Zähler seine obere Grenze erreicht.


HyperLogLog

Redis HyperLogLog ist eine probabilistische Datenstruktur, die verwendet wird, um eindeutige Werte (eingestellte Kardinalität) bei konstanter Speichergröße zu zählen. Sie können eine große Anzahl einzigartiger Elemente mit Speichereffizienz hinzufügen und zählen und zwei oder mehr HyperLogLog-Datenstrukturen zu einer einzigen zusammenführen.


Geospatiale Indizes

Geospatiale Indizes bieten eine äußerst effiziente und einfache Möglichkeit zur Verwaltung und Nutzung von Geodaten in Redis. Sie können eindeutige Elemente mit Längen- und Breitengrad hinzufügen, die Entfernung zwischen Objekten berechnen und Mitglieder innerhalb eines bestimmten Radiusbereichs von einem Ort aus finden.


Streams

Redis Streams ist eine unglaublich leistungsfähige Datenstruktur zur Verwaltung von Hochgeschwindigkeits-Datenströmen (wie eine Nachrichtenwarteschlange). Durch die vorkonfigurierte Partitionierung, -Replikation und -Persistenz kann es Millionen von Daten pro Sekunde mit einer Latenzzeit im Sub-Millisekundenbereich erfassen und verarbeiten. Redis Streams basiert auf einer effizienten Radix-Baum-Implementierung, die diese Range- und Lookup-Abfragen extrem schnell macht. Es verbindet Produzenten und Verbraucher mit asynchronen Aufrufen und unterstützt Verbrauchergruppen.