Redis Lpop

Redis Lpop

Redisliste ist eine geordnete Abfolge von Strings. Es kann bis zu vier Milliarden Saitenelemente enthalten. Im Allgemeinen werden die Redis -Listen verwendet, um Warteschlangen, Stapel und Warteschlangenmanager für Hintergrundjobs zu implementieren. Redis ist ein Schlüsselwertspeicher, unterstützt jedoch immer noch eine Datenstruktur mit verknüpfter Listen, die unter anderem ein einzigartiges Merkmal von Redis ist. Die Elemente können sowohl vom Kopf als auch vom Schwanz gedrückt werden. Redis -List -Vorgänge arbeiten in konstanter Zeitkomplexität am Kopf oder am Schwanz, was hocheffizient ist.

Darüber hinaus kann eine Redisliste mit der Java -Array -Liste, der JavaScript -Array oder der Python -Liste verglichen werden.

Der Befehl redis lpop enthüllt

Der Befehl LPOP entfernt oder löscht Elemente vom Kopf einer angegebenen Redisliste. Standardmäßig wird das erste Element aus dem Kopf oder der Vorderseite der Liste, die hocheffizient ist, da die Redis -Listenvorgänge am Kopf oder am Schwanz in konstanter Zeitkomplexität funktionieren. Darüber hinaus akzeptiert der LPOP. Das optionale Zählargument wurde dem Befehl redis lpop aus Version 6 hinzugefügt.2.0.

Schauen wir uns einen kurzen Blick auf die Syntax des LPOP -Befehls an.

LPOP KEY_OF_LIST 1

KEY_OF_LIST: Der Name des Schlüssels der Redisliste

ZÄHLEN: Die Anzahl der Elemente, die von Kopf/Vorderseite der Liste entfernt werden sollen, die in der angegebenen Taste gespeichert ist KEY_OF_LIST.

Wenn das Zählargument nicht angegeben ist. Immer wenn das Zählargument zusammen mit dem Schlüssel der Redisliste angegeben ist, gibt der Befehl LPOP das Array der gepolsterten Elemente an den Client zurück.

Anwendungsfall: Implementieren einer Warteschlange mit Redis -Liste und LPOP -Befehl

Im Allgemeinen ist die Warteschlange eine Datenstruktur, die sich in der ersten Natur verhält. Redis -Listen können verwendet werden, um das Verhalten einer Warteschlange mit dem Befehl LPOP zusammen mit dem Befehl rpush zu implementieren.

Erstellen wir eine Liste mit dem Namen "Patienten" Durch Hinzufügen von fünf Elementen, wie im Folgenden gezeigt. Da wir uns auf eine Warteschlange konzentrieren, sollte der Befehl rpush verwendet werden, um jedes neue Element aus dem Schwanz der Liste einzufügen.

RPUSH -Patienten "Derek" "Mary" "Nishu" "Jack" "Chan"

Wir können das inspizieren Patienten Liste wie folgt:

Nehmen wir an, der erste Patient wird bereits vom Krankenhaus bedient. Daher werden wir die erste Person mit dem Befehl LPOP wie folgt aus der Warteschlange entfernen.

LPOP -Patienten

Dies sollte den „Derek“ aus der Warteschlange entfernen und wie folgt zurückgeben, da der Befehl lpop ein einzelnes Element standardmäßig vom Kopf der Liste entfernt wird.

Wir können die resultierende Warteschlange mit dem Befehl lRange untersuchen, wie im Folgenden dargestellt:

LRange -Patienten 0 -1

"Derek" ist bereits aus der Warteschlange gestoßen und nur vier Elemente sind übrig. Mary ist jetzt die erste Person in der Warteschlange.

Nehmen wir ein Szenario an, in dem sowohl Mary als auch Nishu zusammen serviert werden, indem ein Impfstoff gegeben wird. Daher sollten wir beide Patienten gleichzeitig den Befehl LPOP wie folgt entfernen:

LPOP -Patienten 2

Das Zählargument ist 2 im obigen Befehl, das die ersten beiden Elemente aus dem streichen sollte Patienten Warteschlange.

Wir können die Warteschlange mit dem Befehl lRange wie folgt inspizieren:

Wie erwartet wurden Mary und Nishu aus der Redisliste entfernt.

Es gibt einige Fälle, in denen der angegebene Listenschlüssel im Redis -Datenspeicher nicht verfügbar ist. In diesem Fall kehrt der Befehl LPOP zurück Null Ausgabe wie folgt:

LPOP nicht vorhanden

In ähnlicher Weise kann der Befehl Redisliste und LPOP verwendet werden, um Hintergrundjob -Warteschlangen in einem System zu implementieren. Darüber hinaus enthält der LPOP. Der RPOP ist die entgegengesetzte Version des LPOP -Befehls, der Elemente aus dem Schwanz der Redisliste entfernt.

Abschluss

Zusammenfassend arbeitet der Befehl LPOP in Redis -List -Datenstrukturen. Standardmäßig entfernt es das erste Element der angegebenen Liste und gibt das Element an den Client zurück. Wie erläutert, benötigt der Befehl LPOP nur eine konstante Zeit, um am Kopf oder am Schwanz einer Liste zu arbeiten, die hocheffizient ist. Die Anzahl der aus der Liste zu entfernenden Elemente kann optional zusammen mit dem Schlüssel der Liste angegeben werden. Der Befehl LPOP wird in verschiedenen Anwendungen verwendet, um Warteschlangen, Stapel und Warteschlangenmanager für Hintergrundjobs zu implementieren. Insgesamt verhält sich der Befehl redis lpop genau dem RPOP -Befehl, jedoch auf der Kopf- oder Vorderseite einer bestimmten Liste.