Redis Blpop

Redis Blpop
In diesem Artikel wird er erfahren, wie Sie mit dem Befehl Redis Blpop Listen verwalten können. In Redis ist eine Liste nichts weiter als eine Sammlung von Stringwerten, die nach der Einfügungsreihenfolge sortiert sind.

Listen gehören zu den häufigsten und wertvollsten Typen in Redis. Nicht nur, weil sie im Vergleich zu anderen Typen wie Hashes ein besseres Gedächtniserlebnis bieten, sondern weil sie einfach zu bedienen und verwalten zu können.

Beginnen wir mit den Grundlagen.

Redis erstellen Sie Liste

Da Redis eine Schlüsselwertdatenbank ist, müssen wir einen Schlüssel für eine Liste von Elementen erstellen.

Redis verwendet das Konzept von links und rechts, um Elemente hinzuzufügen und zu entfernen. Um beispielsweise links von der Liste ein Element hinzuzufügen, verwenden wir den Befehl LPush. Verwenden Sie für die richtige Einführung den Befehl rpush.

Nehmen Sie das unten gezeigte Beispiel:

127.0.0.1: 6379> LPush -Sprachen Python
(Ganzzahl) 1

Im obigen Beispielbefehl verwenden wir den Befehl lpush, um ein neues Schlüssel zu erstellen, das ein Element in der Liste hält.

Nach der Erstellung können wir Elemente hinzufügen, wie in den folgenden Beispielbefehlen gezeigt:

127.0.0.1: 6379> LPush -Sprachen JavaScript OCAML ELIXIR C C++

Hinweis: Sie können auch den Befehl rpush verwenden, wie im folgenden Beispiel gezeigt:

127.0.0.1: 6379> RPUSH -Sprachen SQL Java C#

Denken Sie daran, dass die Reihenfolge der Insertion in einer Liste wichtig ist.

Hinweis: Eine einzige Liste in Redis kann bis zu 4 Milliarden Elemente aufnehmen.

Redis -Ring -Listenelemente abrufen

Um die in einer Liste gespeicherten Elemente abzurufen, verwenden wir den Befehl lRange, gefolgt von den Start- und Endversatzwerten. Der Versatz repräsentiert in diesem Fall den Index des Elements in der Liste.

Die Indizierung für eine Redisliste beginnt bei 0.

Zum Beispiel können wir den Befehl ausführen, um alle Elemente aus dem Index 0 abzurufen:

127.0.0.1: 6379> lRange Languages ​​0 -1

Das Übergeben der Liste Startversetzt als 0 und der letzte Offset als -1 gibt alle Elemente in der Liste zurück.

Der Befehl sollte die Elemente in der Liste wie gezeigt zurückgeben:

1) "C ++"

2) "C"

3) "Elixir"

4) "ocaml"

5) "JavaScript"

6) "Python"

7) "SQL"

8) "Java"

9) "C#"

Befehle redis lpop und blpop

Wenn es darum geht, Elemente in einer Liste zu entfernen, begegnen Sie zwei Hauptbefehle:

LPOP und BLOP.

Hinweis: In diesem Artikel können Sie den Befehl LREM kennenlernen <- click here.

Der Befehl LPOP wird das erste Element in der Liste entfernt und zurückgeben. Eine Beispielnutzung ist wie unten gezeigt:

127.0.0.1: 6379> LPOP -Sprachen
"C ++"

Da der Befehl LPOP den tatsächlichen Wert zurückgibt, ist er für die Verfolgung von Änderungen in Ihrer Anwendung geeignet.

Der BLPOP -Befehl hingegen ist die blockierende Version des LPOP -Befehls. Es entfernt und gibt das erste Element in einer Liste zurück. Im Gegensatz zum Befehl LPOP blockiert es jedoch die Verbindung für eine bestimmte Dauer, bis eine verfügbar ist.

Betrachten Sie das unten gezeigte Beispiel:

127.0.0.1: 6379> blpop mykey 10

Wir geben im obigen Beispielbefehl einen nicht existierenden Schlüssel an den Befehl blopop. Wir geben auch die Blockdauer als 10 Sekunden an. Wenn in der angegebenen Liste nach dem Verschluss kein verfügbares Element vorhanden ist, gibt der Befehl NIL zurück.

Der obige Befehl sollte zurückkehren (nach 10 Sekunden).

127.0.0.1: 6379> blpop mykey 10
(Null)
(10.05s)

Wenn das Element in der angegebenen Liste vorhanden ist, löscht es und gibt es wie gezeigt zurück:

127.0.0.1: 6379> Blpop -Sprachen 10
1) "Sprachen"
2) "C"

In diesem Fall gibt der Befehl den Schlüssel zurück, aus dem er ein Element löscht und das tatsächliche Element entfernt wird.

Es wartet nicht, dass die angegebene Dauer verstrichen ist.

Abschluss

In diesem Tutorial wurden Redis -Listen und der Verwendung in Ihrer Datenbank behandelt. Wir diskutierten: Erstellen einer Redisliste, Hinzufügen von Elementen, Abrufen von Listenelementen und Entfernen von Schlüssel aus einer Liste.

Danke fürs Lesen!!