Redis Lset

Redis Lset
Eine Redisliste ist eine Datenstruktur, die eine Abfolge von Stringelementen in der Einfügungsreihenfolge enthält. Es basiert auf der verknüpften Liste. Die Einführung eines Elements am Kopf und am Schwanz wird also in konstanter Zeit durchgeführt. Der einzige Nachteil der Redis -Listen ist, dass das Abfragen von Elementen nach einem Index etwas kostspielig ist, was Zeit direkt proportional zum Index des Zugriffselements braucht. Der Grund für die verlinkte listenbasierte Implementierung besteht darin, die Dateninsertion für eine sehr lange Liste von Elementen schneller zu gestalten.

Redis-Listen haben eine 0-basierte Indexierung. Das erste Element wird als 0 bezeichnetth Index; Der zweite ist am 1st Index und so weiter. Der Zugriff auf Schwanzelemente mit den Indizes ist möglich, wenn negative Indizes wie das letzte Element als -1 indiziert sind, das vorletzte Element -2 -2 und so weiter ist.

Die Listenelemente können auf einen bestimmten Index mit dem Befehl LSET festgelegt werden, der im folgenden Abschnitt beschrieben wird.

Der Befehl lset

Der Befehl lset legt ein Element im angegebenen Index einer Redisliste fest, die in der angegebenen Taste gespeichert ist. Es hat die folgende einfache Syntax:

Lset list_key Indexelement

List_key: Der Schlüssel der Redisliste.

Index: Der Index, in dem Sie ein Element festlegen müssen.

Element: Das String -Element soll auf den angegebenen Index eingestellt werden.

Dieser Befehl gibt eine einfache Zeichenfolge "OK" zurück, wenn das Element ordnungsgemäß festgelegt wurde. Wenn es auf einen Index stößt, der außerhalb des Bereichs liegt, gibt der Befehl LSET einen Fehler zurück.

Einer der häufigsten Anwendungsfälle der Redis -Listen besteht darin, Social -Media -Beiträge und ihre Updates für einzelne Benutzer zu speichern. Der Befehl lset spielt dort eine wichtige Rolle, wie im folgenden Abschnitt erläutert.

Anwendungsfall - Aktualisieren Sie Social Media -Posts

Nehmen wir eine Veranstaltung an, bei der ein Unternehmen eine eigene Social -Media -Website mit Tausenden von Benutzern unterhält, die aktiv Beiträge und Status veröffentlichen. Sie haben festgestellt, dass die Redis -Listen der geeignete Kandidat sind, um diese Beiträge und Status zu halten, an denen häufige Einführungen stattfinden, und die Redis -Listen in konstanter Zeit Einfügung durchführen.

Erstellen wir eine Redisliste für eine bestimmte Benutzer -ID 100, mit der die Beiträge und Statusnachrichten des bestimmten Benutzers gespeichert werden können. Wir werden den Befehl LPush verwenden, um einige Dummy -Posts und Statusnachrichten für die Benutzer -ID 100 einzulegen.

LPush Social-Media: Benutzer: 100 "2022-08-01: Schöner Tag, um zu beginnen."
LPUSH Social-Media: Benutzer: 100 "2022-08-05: Neuen Job bei LinuxHint gestartet"
LPush Social-Media: Benutzer: 100 "2022-08-06: Große Party heute"
LPush Social-Media: Benutzer: 100 "2022-08-07: Schlechtes Tag!!!"

Ausgang

Angenommen, der Benutzer mit Benutzer -ID 100 aktualisiert einen seiner alten Beiträge. Angenommen, der dritte Beitrag, den er gepostet hat. Der Befehl lset kann dies leicht erreichen, wie im Folgenden gezeigt.

Da sich das dritte Element in Index 2 vom Kopf befindet. Wir werden es wie folgt aktualisieren:

LSET Social-Media: Benutzer: 100 2 "Die neue Rolle als Autor bei LinuxHint gestartet"

Ausgang

Wie erwartet wurde der Befehl erfolgreich ausgeführt, und das Element im zweiten Index wurde aktualisiert. Lassen Sie uns die Liste wie folgt erneut überprüfen:

Wir können dasselbe tun, indem wir den Index aus dem Schwanz wie folgt angeben:

LSET Social -Media: Benutzer: 100 -2 "begann als Autor bei LinuxHint eine neue Rolle"

Wie erwartet wurde das dritte Element auf die neue Zeichenfolge „Job bei LinuxHint“ eingestellt.

Wenn Sie einen Index angeben, der außerhalb des Bereichs liegt, erhöht er einen Fehler, wie im Folgenden dargestellt:

LSET Social-Media: Benutzer: 100 6 "Job bei LinuxHint begonnen"

Ausgang

Abschluss

Der Befehl lset legt ein Listenelement in einem angegebenen Index auf ein bestimmtes Element der Redisliste fest, das in einer bestimmten Taste gespeichert ist. Da die Redis -List -Indizes von 0 beginnen, ist es das erste Element. Index 1 ist das zweite Element der Liste und so weiter. Wie erläutert, können die Indizes der Elemente, die vom Schwanz beginnen. Wenn ein nicht existierender Index übergeben wird, gibt der Befehl LSET einen Fehler zurück. Darüber hinaus gibt dieser Befehl eine einfache String -Ausgabe über die erfolgreiche Ausführung zurück.