REDIS -Bereichsfragen

REDIS -Bereichsfragen
Redis verfügt über verschiedene Datentypen zum Speichern und Verwalten mehrerer Datentypen in Ihren Anwendungen. Dieses Tutorial bietet Ihnen fundamentale Bereichsbefehle, um die Werte eines bestimmten Typs innerhalb eines Bereichs abzurufen.

Beachten Sie, dass dieses Tutorial keine Einführung in Redis -Datentypen ist. Überprüfen Sie unser Tutorial zu diesem Thema, um mehr zu erfahren.

Wir haben die Befehle und Beispiele zur neuesten Version von Redis getestet. Wir empfehlen, eine ähnliche Umgebung zu replizieren, um eine maximale Kompatibilität zu erhalten. Beispielsweise funktionieren Befehle wie GetRange möglicherweise nicht in Redis Version 2.0 und niedriger.

GetRange -Befehl

Der erste Bereich, den wir uns ansehen werden, ist der Befehl getRange. Der Befehl nimmt einen Schlüssel mit einem Stringwert und gibt eine Substring des Werts zurück, die durch Start- und Endindizes bestimmt werden.

Die Syntax des Befehls ist wie gezeigt:

GetRange Key Start End

Erstellen Sie zunächst einen einfachen Schlüssel und einen einfachen Wert in einer Redis -Datenbank, wie im folgenden Befehl gezeigt:

127.0.0.1: 6379> mystring "Hallo, Welt aus Redis!"

Um ein Substring von Index 3 bis Index 10 zu erhalten, können wir dies tun:

127.0.0.1: 6379> GetRange Mystring 3 10
"LO, worl"

Beachten Sie, dass der Index der Zeichenfolge am Index 0 vorwärts ist. Whitespace -Zeichen sind auch als gültige Zeichen enthalten.

Sie können auch negative Reichweite, um die letzten Elemente in der Zeichenfolge zu erhalten. Um die letzten drei Indizes zu erhalten, können wir zum Beispiel dies tun.

127.0.0.1: 6379> GetRange Mystring -3 -1
"Ist!"

Die obige Syntax erhält die letzten drei Zeichen im String -Wert.

LRANGE -Befehl.

Sie werden oft auf diesen Befehl stoßen, wenn Sie mit Listen in Redis arbeiten. Der Befehl lRange gibt eine bestimmte Anzahl von Elementen in einer Redisliste zurück.

Es nimmt den Schlüssel der Liste und einen Start- und Stoppwert auf. In ähnlicher Weise beginnt die Indexierung von Elementen in einer Redisliste am Index 0.

Erstellen Sie zunächst eine einfache Liste, wie im folgenden Beispielbefehl gezeigt:

LPush -Datenbanken MongoDB MySQL PostgreSQL Redis Firestore Cockroachdb Faunadb DocumentDB
(Ganzzahl) 8

Der obige Befehl erstellt eine Redisliste namens Datenbanken und fügt die darauf angegebenen Werte hinzu.

Sie können den Befehl lRange verwenden, um Elemente innerhalb eines bestimmten Bereichs zu erhalten. Um beispielsweise Elemente von Index 0 bis 5 zu erhalten, können wir dies tun.

127.0.0.1: 6379> LRange -Datenbanken 0 5
1) "DocumentDB"
2) "Faunadb"
3) "Cockroachdb"
4) "Firestore"
5) "Redis"
6) "postgresql"

Sie werden feststellen, dass die Elemente mit dem zuletzt eingefügten Element zum ersten beginnen. Die Liste ist einfach eine Sammlung von Elementen, die nach dem Einfügungsauftrag sortiert sind.

Sie können auch einen negativen Index verwenden, um das letzte Element aus einer Liste zu erhalten.

127.0.0.1: 6379> LRange -Datenbanken -5 -1
1) "Firestore"
2) "Redis"
3) "postgresql"
4) "MySQL"
5) "MongoDB"

Der Befehl gibt die Elemente aus dem Schwanz der Liste zurück.

Wenn Sie einen Bereich holen, in dem keine Elemente verfügbar sind, gibt der Befehl eine leere Liste als:

127.0.0.1: 6379> LRange -Datenbanken 10 20
(leere Liste oder festgelegt)

ZRANGE -Befehl

Der Befehl nächster Bereich, mit dem Sie vertraut sein müssen, ist der Befehl Zrange. Mit dem Befehl ZRange können Sie Elemente in einem bestimmten Bereich von einem sortierten Satz abrufen.

Der Befehl übernimmt den sortierten Set -Schlüssel, einen Start- und Stoppindexwert. Es gibt alle Elemente innerhalb des angegebenen Bereichs zurück, der nach der Punktzahl vom niedrigsten bis zum höchsten sortiert ist.

Die Syntax des Befehls kann ausgedrückt werden als:

Zrange Key Start Stopp

Um zu sehen, wie der Befehl zRange funktioniert, erstellen Sie zunächst eine sortierte Liste mit den angezeigten Befehlen:

127.0.0.1: 6379> Zadd Sprachen 1 Rost 2 Python 3 Go 5 C 4 C ++ 6 JavaScript 10 Java
(Ganzzahl) 7

Der obige Befehl fügt die Werte und ihre entsprechenden Punktzahlen zu den sortierten Set "Sprachen" hinzu.

Verwenden Sie den Befehl ZRange wie gezeigt, um Elemente in dem festgelegten Set innerhalb eines bestimmten Bewertungsbereichs abzurufen:

127.0.0.1: 6379> Zrange Languages ​​1 5
1) "Python"
2) "Go"
3) "C ++"
4) "C"
5) "JavaScript"

Der Befehl gibt alle Elemente innerhalb dieses Bereichs zurück, der nach Bewertungswert sortiert ist.

Verwenden Sie die Option With Scores unter Verwendung der Elemente und dessen entsprechenden Bewertungswert als:

127.0.0.1: 6379> Zrange Languages ​​0 5 With Scores
1) "Rost"
2) "1"
3) "Python"
4) "2"
5) "Go"
6) "3"
---GEKÜRZT---

Der Befehl sollte das Element und seine Punktzahl zurückgeben.

Zrevrange

Der Befehl Zrevrange funktioniert ähnlich wie der Befehl ZRange. Es gibt jedoch die Werte in umgekehrter Reihenfolge zurück, ich.e., Der Score -Bereich beginnt am höchsten bis zum niedrigsten.

Beispiel

127.0.0.1: 6379> Zrevrange Sprachen 0 5
1) "Java"
2) "JavaScript"
3) "C"
4) "C ++"
5) "Go"
6) "Python"

In diesem Beispiel beginnen die Ergebnisse von der höchsten Punktzahl bis zum niedrigsten Wert. Sie können Bewertungen mithilfe der Option With Scores aktivieren.

127.0.0.1: 6379> Zrevrange Languages ​​0 5 With Scores
1) "Java"
2) "10"
3) "JavaScript"
4) "6"
5) "C"
6) "5"
7) "C ++"
8) "4"
9) "Go"
10) "3"
11) "Python"
12) "2"

Beachten Sie, wie die Bewertungen in umgekehrter Reihenfolge im Vergleich zur Ausgabe von ZRange -Befehlsausgabe sind.

Abschluss

Dieser Leitfaden gibt Ihnen eine Vorgehensweise über einige der fundamentalen Reichweite in Redis. Denken Sie daran, dass es andere Bereiche wie Ltrim, Xrange und mehr gibt. Betrachten Sie die Dokumentation für Befehle, die in diesem Leitfaden nicht erörtert wurden.