Der Wertwertwert ermöglicht es ihnen, in einer bestimmten Reihenfolge sortiert zu werden. Jedes Mitglied eines sortierten Satzes muss eindeutig sein, kann jedoch einen Punktzahl mit mehreren Mitgliedern teilen.
In diesem Tutorial erfahren Sie alles über die sortierten Sets in Redis und wie Sie sie in Ihren Datenbanken verwenden können.
Stellen Sie sicher.
Erstellen sortierter Sets
Verwenden Sie den Befehl ZADD in der Redis -CLI, um einen sortierten Set in Redis zu erstellen. Der Befehl zadd nimmt drei Hauptargumente ein.
Der erste ist der Name des Schlüssels, der den sortierten Satz hält.
Das zweite Argument hält die Punktzahl des Mitglieds, die dem sortierten Satz hinzugefügt wird.
Das letzte und dritte Argument ist der tatsächliche Wert des Mitglieds im sortierten Satz.
HINWEIS: Die Reihenfolge der Argumente ist wichtig, da die oben diktierten Werte jeweils darstellen.
Schauen Sie sich das unten gezeigte Beispiel an.
127.0.0.1: 6379> Zadd Captains 1 "Jonathan Archer"
Der obige Befehl erstellt einen sortierten Satz, der die Namen von Star Trek Captains enthält. Im obigen Beispiel hat der Wert von „Jonathan Archer“ eine Punktzahl von 1.
Der Befehl gibt einen Ganzzahlwert zurück, der die Gesamtzahl der zu dem sortierten Satz hinzugefügten Mitglieder anzeigt.
Redis beschränkt Sie nicht auf das Hinzufügen eines einzelnen Mitglieds zum Set. Sie können mehrere Werte hinzufügen. Zum Beispiel:
Zadd Captains 2 "Carol Freeman" 4 "Christopher Pike" 1 "Jean-Luc Picard" 3 "Kathryn Janeway."
Sie werden im obigen Befehl zwei wichtige Dinge bemerken:
ZADD -Befehlsoptionen.
Der Befehl ZADD akzeptiert mehrere Optionen, um sein Verhalten und die Funktionalität zu ändern. Diese Optionen umfassen:
Hinweis: NX- und XX -Optionen sind widersprüchlich. Daher können Sie nur eine Option in einem einzigen Befehl verwenden.
HINWEIS: Verwenden des Befehls zincrby anstelle von zadd mit der Incol -Option wird empfohlen. Beide führen die gleiche Funktion aus.
Abrufen Sie Mitglieder von einem sortierten Set ab
Verwenden Sie den Befehl Zrange, um Mitglieder eines sortierten in Redis festgelegten Sortierersatzes abzurufen. Der Befehl nimmt den Namen des Schlüssels und einen bestimmten Bereich der Mitglieder, die Sie abrufen möchten. Die Bereichswerte der Mitglieder des sortierten Sets sind auf Null-basierte Indizes. Daher befindet sich das erste Mitglied im Set am Index 0.
Geben Sie beispielsweise den Befehl ein, um die Mitglieder von Index 0 bis 10 abzurufen:
127.0.0.1: 6379> Zrange Captains 0 10
Der Befehl gibt die Mitglieder in diesem angegebenen Bereich zurück. Die Beispielausgabe ist wie unten gezeigt:
1) "Jonathan Archer"
2) "Carol Freeman"
3) "Kathryn Janeway"
4) "Christopher Pike"
5) "Jean-Luc Picard"
In den Fällen, in denen der sortierte Satz Mitglieder mit einem ähnlichen Wertwert enthält, werden die Mitglieder in lexikografischer Reihenfolge sortiert.
Wenn Sie die Mitglieder innerhalb des Sets und der zugehörigen Bewertungen einbringen möchten, können Sie die Option With Scores verwenden.
127.0.0.1: 6379> Zrange Captains 0 10 With Scores
Die Beispielausgabe aus dem obigen Befehl ist wie gezeigt.
1) "Jonathan Archer"
2) "1"
3) "Carol Freeman"
4) "2"
5) "Kathryn Janeway"
6) "3"
7) "Christopher Pike"
8) "4"
9) "Jean-Luc Picard"
10) "5"
Angenommen, Sie möchten die Mitglieder in umgekehrter Reihenfolge bringen. Denken Sie daran, dass der Befehl zrange nur die Mitglieder in aufsteigender Reihenfolge zurückgibt. Verwenden Sie den Befehl zrevrange, um die umgekehrte Reihenfolge zu erhalten.
127.0.0.1: 6379> Zrevrange Captains 0 10
Der Befehl führt in umgekehrter Reihenfolge.
1) "Jean-Luc Picard"
2) "Christopher Pike"
3) "Kathryn Janeway"
4) "Carol Freeman"
5) "Jonathan Archer"
Sie können auch die Option "WithOptions" in den Befehl ZrevRange einfügen.
1) "Jean-Luc Picard"
2) "5"
3) "Christopher Pike"
4) "4"
5) "Kathryn Janeway"
6) "3"
7) "Carol Freeman"
8) "2"
9) "Jonathan Archer"
10) "1"
Der resultierende Wert enthält die Bewertungen in umgekehrter Reihenfolge.
Entfernen Sie die Mitglieder aus einem sortierten Set
Verwenden Sie den Befehl ZREM, um die Mitglieder aus einem sortierten Satz zu entfernen.
127.0.0.1: 6379> Zrem Captains "Jonathan Archer"
Der Befehl gibt einen Ganzzahlwert zurück.
Verwenden Sie den Befehl Zrembyrrange, um Elemente nach Reichweite zu entfernen.
127.0.0.1: 6379> Zremrangebylex Captains [A [Z
Der Befehl entfernt die Werte basierend auf seinem Lexiko -Bereich.
Verwenden Sie den Befehl ZremrangeByscore, um die Mitglieder in ihrem Punktestand zu entfernen.
127.0.0.1: 6379> Zremrangebyscore Captains 0 5
Holen Sie sich Informationen zu sortierten Sätzen
Verwenden Sie den Befehl ZCard, um die Anzahl der Mitglieder in einem bestimmten Sortiersatz abzurufen.
127.0.0.1: 6379> Zcard -Kapitäne
Der Rückgabewert ist eine Ganzzahl, die die Anzahl der Elemente in einem Satz zeigt.
Wenn Sie die Anzahl der Mitglieder innerhalb eines bestimmten Bereichs erhalten möchten, verwenden Sie den Befehl ZCount.
127.0.0.1: 6379> ZCount Captains 0 10
In ähnlicher Weise gibt der Befehl einen Ganzzahlwert zurück.
Verwenden Sie den Befehl ZScore, um die Punktzahl eines bestimmten Mitglieds innerhalb eines sortierten Satzes zu erhalten:
127.0.0.1: 6379> Zscore Captains "Carol Freeman"
"2"
Der Befehl gibt die Punktzahl des Mitglieds zurück, wenn es existiert.
Abschluss
In diesem Artikel wurde erläutert, wie man starten und sortierte Sets in Ruby verwendet. Denken Sie daran, dass sortierte Sets mehr als in diesem Leitfaden besprochen werden. Betrachten Sie die Dokumentation, um mehr zu erfahren.