Redis Zrem

Redis Zrem

Redis sortierte Set -Mitglieder

Redis sortierte Sets speichern einzigartige Elemente auf geordnete Weise. Daher kann es in Anwendungen mit geringer Latenz wie Prioritätswarteschlangen, Echtzeit-Bestenlisten, sekundärer Indexierung usw. verwendet werden. Jedem dieser festgelegten Elemente wird ein Rang zugewiesen und in aufsteigender Reihenfolge basierend auf dem Bewertungswert platziert. Es stehen mehrere Befehle zur Verfügung, um die sortierten SET -Mitglieder effizient hinzuzufügen, zu aktualisieren und zu entfernen. Das Wichtigste an sortierten Sätzen ist, dass es nach der Zugabe oder Entfernung eines festgelegten Mitglieds immer noch es gelingt.


Die obige Abbildung zeigt das Szenario der Redis -sortierten Set -Element -Entfernung und wie es sich verhält, wenn mehrere Mitglieder davon entfernt werden. Es schafft es, die richtigen Reihenfolge- und Indexwerte zu behalten, indem jedes Mitglied entsprechend platziert wird. Im nächsten Abschnitt werden wir in detaillierte Weise den Sortier -Set -Entfernenbetrieb untersuchen.

Entfernen von Mitgliedern mit Zrem Command

Mit dem Befehl ZREM werden ein oder mehrere Mitglieder aus einem sortierten Set entfernen, der in einem bestimmten Schlüssel gespeichert ist. Dieser Befehl hat logarithmische Zeitkomplexität. Wenn der Befehl verwendet wird, um ein Element zu entfernen, ist die zeitliche Komplexität proportional zum logarithmischen Wert der Anzahl der Elemente. Wenn zum Entfernen mehrere Elemente angegeben wurden, ist es o (number_of_elements_to_remove* log (Total_number_of_set_elements))).

Syntax

ZREM Sorted_set_key Mitglied [Mitglied…]


sorted_set_key: Dies ist die eindeutige Kennung, bei der das sortierte Set gespeichert ist.
Mitglied: Dies ist das Mitglied, das entfernt werden soll.

Der Befehl ZREM entfernen die angegebenen Mitglieder aus dem sortierten Satz. Es wird eine ganzzahlige Antwort zurückgeben, die die Anzahl der entfernten Mitglieder ist. Wenn Sie ein nicht existierendes Mitglied angeben, wird es übersprungen. Außerdem wirft der Befehl einen Fehler auf, wenn die angegebene Taste kein sortierter Satz enthält.

Beispiel - Verwalten Sie die Warteschlange der Kundenbestellung mit Redis Zrem

Nehmen wir ein reales Szenario, in dem ein Restaurant seine Kunden basierend auf den ersten als höchsten Priorität zugewiesenen First-Comers bedient. Nachdem das Restaurant zuerst die Kunden mit höchster Priorität bedient hat, sollte es jeden Kundeneintrag aus der Warteschlange entfernen. Redis sortiertessatz ist eine ideale Datenstruktur, um dieses Szenario auf speichereffiziente und effiziente Weise zu implementieren.
Jedes Mitglied des Redis -Sortierten -Sets sieht aus wie das folgende.


Wie in der obigen Abbildung gezeigt, muss jedes Mal, wenn ein Kunde vom Restaurant serviert wurde. Wir können den Befehl ZREM verwenden, um dies zu erreichen.

Fügen wir die vier in der obigen Abbildung gezeigten Kunden hinzu. Wir werden den Befehl ZADD verwenden, um das sortierte Satz zu erstellen Kundenqueue und fügen Sie vier Mitglieder hinzu, wie im Folgenden gezeigt.

Zadd Customerqueue 1 Kunde: 10
Zadd Customerqueue 9 Kunde: 1
Zadd Customerqueue 7 Kunde: 6
Zadd Customerqueue 5 Kunde: 2



Überprüfen wir den sortierten Set mit dem Befehl ZRange.

Zrange Customerqueue 0 10 With Scores


Ausgang:


Wie erwartet wurde der sortierte Customer -Customer -Customer basierend auf dem Prioritätswert bestellt.

Löschen Sie ein Mitglied aus dem sortierten Set

Der Kunde: 10 Wer die höchste Priorität hat, wird zuerst bedient. Daher die Kunde: 10 Mitglieder müssen aus dem sortierten Set entfernt werden. Verwenden wir den Befehl ZREM, um das Mitglied zu entfernen.

Zrem Customerqueue Kunde: 10


Ausgang:


Wie erwartet beträgt der Rückgabewert 1, was bedeutet, dass ein Eintrag entfernt wurde. Lassen Sie uns das inspizieren Kundenqueue nochmal.


Das Mitglied Kunde: 10 wurde erfolgreich gelöscht.

Löschen Sie mehrere Mitglieder aus dem sortierten Satz

Sagen wir beide Kunde: 2 Und Kunde: 6 wurden aus zwei Fenstern parallelly serviert. Daher sollten wir beide Mitglieder aus dem sortierten Set löschen. Wir können den Befehl ZREM verwenden, um beide Mitglieder gleichzeitig zu löschen.

Zrem Customerqueue Kunde: 2 Kunde: 6


Ausgang:


Wie erwartet beträgt der Rückgabewert 2, was darauf hinweist, dass zwei Mitglieder gelöscht wurden. Lassen Sie uns das gesamte sortierte Set erneut inspizieren.


Der Befehl zrem wird empfohlen, immer dann zu verwenden, wenn Sie Elemente aus einem sortierten Satz entfernen müssen.

Abschluss

Zusammenfassend wird der Befehl ZREM verwendet, um eine oder mehrere Elemente aus einem Redis -Sortierten -Set zu entfernen, der in einer bestimmten Taste gespeichert ist. Es löscht einfach die angegebenen Mitglieder aus dem sortierten Satz. Außerdem wird die Bestellung im resultierenden sortierten Set aufbewahrt. Wie oben erwähnt, hat es eine logarithmische Zeitkomplexität, mit der der Befehl in Echtzeitanwendungen verwendet werden kann. Daher wird der Befehl zrem empfohlen, immer dann zu verwenden, wann immer Sie Elemente aus einem sortierten Satz entfernen müssen.