So verwenden Sie Redis -Streams

So verwenden Sie Redis -Streams

Streams sind eine einfache, aber vielseitige und leistungsstarke Datenstruktur, mit der Sie Streams in Redis implementieren können. Streams sind integrierte Typen von Redis Version 5.0 und kann helfen, die Einschränkungen der Protokolldatenstruktur zu beseitigen.

In diesem Artikel werden wir uns auf die Verwendung und Arbeiten mit Redis -Streams und nicht auf die tatsächliche Implementierung konzentrieren. Sie können jedoch die Dokumente für mehr überprüfen.

Redis erstellen Stream

Um einen Stream in Redis zu erstellen, verwenden wir den Befehl XADD, gefolgt von Stream -Namen, ID, Schlüssel und Daten als Parameter.

Die Syntax ist wie gezeigt:

XADD [Stream -Name] [ID] [Schlüssel] [Daten]

Beispiel ist wie gezeigt:

127.0.0.1: 6379> xadd DataStream * IP 231.17.140.219
"1646904960928-0"

Im obigen Beispiel führen wir den Befehl xadd aus, um einen neuen Stream-Eingang hinzuzufügen. Geben Sie in unserem Beispiel den Eintragsdatenastream mit einer eindeutigen ID an.

Obwohl Sie eine ID manuell festlegen können, verwenden wir das Sternchen, um Redis zu sagen, dass sie eine eindeutige Kennung automatisch generieren können. Dies ist die Ausgabe des obigen Befehls.

NOTIZ: Jede erzeugte IP ist monotonisch von den vorherigen inkrementiert. In den meisten Fällen müssen Sie die ID für einen Eintrag selten manuell festlegen. Wir können dies wie im folgenden Befehl gezeigten tun:

127.0.0.1: 6379> xadd DataStream 74376383723373 IP 171.17.140.219
"74376383723373-0"

Im obigen Befehl geben wir die Eintrags -ID manuell an.

Der Eintrag enthält ein Feld und ein Wert -IP und eine entsprechende IP.

Redis Fügen Sie Stream mit Limit hinzu

In einigen Fällen möchten Sie möglicherweise nicht, dass die Stream -Einträge einen bestimmten Wert überschreiten. Sie können dies tun, indem Sie den Maxlen -Parameter als:

XADD DataStream Maxlen 100 * IP 231.17.140.219

Redis -Stream -Einträge

Um die Anzahl der Einträge in einem Redis -Stream zu erhalten, können wir den Befehl xlen als:

127.0.0.1: 6379> Xlen Datastream
(Ganzzahl) 3

Dies sollte eine Ganzzahl zurückgeben, die die Anzahl der Einträge im Stream bezeichnet.

DAT aus Stream erhalten

Wir können die Einträge in einem Stream itererieren, indem wir die im Befehl gezeigten Start- und End -IDs angeben:

127.0.0.1: 6379> Xrange Datastream - +
1) 1) "1646904960928-0"
2) 1) "IP"
2) "231.17.140.219 "
2) 1) "74376383723373-0"
2) 1) "IP"
2) "231.17.140.219 "
3) 1) "74376383723373-1"
2) 1) "IP"
2) "231.17.140.219 "

Die Verwendung der Parameter - + (untere und obere Grenze) gibt alle Einträge im Stream zurück. Sie können auch einen Bereich angeben wie:

127.0.0.1: 6379> XRange Datastream 1646904960928-0 74376383723373-0
1) 1) "1646904960928-0"
2) 1) "IP"
2) "231.17.140.219 "
2) 1) "74376383723373-0"
2) 1) "IP"
2) "231.17.140.219 "

Der Befehl sollte die Einträge innerhalb des angegebenen ID -Bereichs zurückgeben.

Redis las alles

Verwenden Sie den Befehl XRead wie gezeigt, um jeden Eintrag im Stream von oben zu lesen:

127.0.0.1: 6379> Xread Count 100 Streams DataStream 0
1) 1) "DataStream"
2) 1) 1) "1646904960928-0"
2) 1) "IP"
2) "231.17.140.219 "
2) 1) "74376383723373-0"
2) 1) "IP"
2) "231.17.140.219 "
3) 1) "74376383723373-1"
2) 1) "IP"
2) "231.17.140.219 "

Verwenden Sie den Befehl, um nur neue Daten zu lesen, um:

127.0.0.1: 6379> Xread Block 10000 Streams DataStream $

Der Befehl wartet von den Stream -Einträgen für die angegebenen Millisekunden und schließt sich dann. In unserem Fall haben wir die Wartezeit auf 10000 Millisekunden gelegt.

Abschluss

Dieses Tutorial bietet die Grundlagen der Arbeit mit Datenströmen in Redis. Überprüfen Sie die Dokumente für weitere.