Redis-sortierte Menge

Redis sortierte Sets sind ebenso wie Mengen Sammlungen von Elementen vom Typ String; doppelte Mitglieder sind nicht zulässig.

Der Unterschied besteht darin, dass jedem Element ein Score vom Typ Double zugeordnet ist. Redis verwendet den Score, um die Mitglieder im Set vom kleinsten zum größten zu sortieren.

Die Mitglieder eines sortierten Sets sind eindeutig, aber Scores können mehrfach vorkommen.

Mengen werden durch Hash-Tabellen implementiert, daher ist die Komplexität für das Hinzufügen, Löschen und Suchen O(1). Die maximale Anzahl von Mitgliedern in einer Menge beträgt 232- 1 (4294967295, jede Menge kann mehr als 4 Milliarden Mitglieder speichern).

Beispiel

redis 127.0.0.1:6379> ZADD examplekey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD examplekey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD examplekey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD examplekey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD examplekey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE examplekey 0 10 WITHSCORES

1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"

Im obigen Beispiel haben wir den BefehlZADDverwendet, um drei Werte zum sortierten Redis-Set hinzuzufügen und ihnen Scores zuzuordnen.


Redis-Befehle für sortierte Sets

Die folgende Tabelle listet die grundlegenden Befehle für sortierte Redis-Sets auf:

Nein.Befehl und Beschreibung
1ZADD key score1 member1 [score2 member2]
Fügt einem sortierten Set ein oder mehrere Mitglieder hinzu oder aktualisiert die Scores bestehender Mitglieder.
2ZCARD key
Ermittelt die Anzahl der Mitglieder in einer sortierten Menge.
3ZCOUNT key min max
Zählt die Anzahl der Mitglieder in einer sortierten Menge, deren Scores innerhalb des angegebenen Bereichs liegen.
4ZINCRBY key increment member
Erhöht den Score eines angegebenen Mitglieds in einer sortierten Menge um ein Inkrement.
5ZINTERSTORE destination numkeys key [key ...]
Berechnet die Schnittmenge von einer oder mehreren gegebenen sortierten Mengen und speichert die Ergebnismenge in einer neuen sortierten Menge namens destination.
6ZLEXCOUNT key min max
Zählt die Anzahl der Mitglieder in einer sortierten Menge innerhalb des angegebenen lexikographischen Bereichs.
7ZRANGE key start stop [WITHSCORES]
Gibt Mitglieder innerhalb des angegebenen Indexbereichs einer sortierten Menge zurück.
8ZRANGEBYLEX key min max [LIMIT offset count]
Gibt Mitglieder einer sortierten Menge nach lexikografischem Bereich zurück.
9ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
Gibt Mitglieder innerhalb des angegebenen Score-Bereichs einer sortierten Menge zurück.
10ZRANK key member
Gibt den Index eines angegebenen Mitglieds in einer sortierten Menge zurück.
11ZREM key member [member ...]
Entfernt ein oder mehrere Mitglieder aus einer sortierten Menge.
12ZREMRANGEBYLEX key min max
Entfernt alle Mitglieder aus einer sortierten Menge innerhalb des angegebenen lexikografischen Bereichs.
13ZREMRANGEBYRANK key start stop
Entfernt alle Mitglieder aus einer sortierten Menge innerhalb des angegebenen Rangbereichs.
14ZREMRANGEBYSCORE key min max
Entfernt alle Mitglieder aus einer sortierten Menge innerhalb des angegebenen Score-Bereichs.
15ZREVRANGE key start stop [WITHSCORES]
Gibt Mitglieder innerhalb des angegebenen Bereichs einer sortierten Menge zurück, nach Index, mit Scores von hoch nach niedrig.
16ZREVRANGEBYSCORE key max min [WITHSCORES]
Gibt Mitglieder innerhalb des angegebenen Score-Bereichs einer sortierten Menge zurück, sortiert nach Scores von hoch nach niedrig.
17ZREVRANK key member
Gibt den Rang eines angegebenen Mitglieds in einer sortierten Menge zurück, wobei die Mitglieder der sortierten Menge nach Score-Wert in absteigender Reihenfolge (vom größten zum kleinsten) sortiert sind.
18ZSCORE key member
Gibt den Score-Wert eines Mitglieds in einer sortierten Menge zurück.
19ZUNIONSTORE destination numkeys key [key ...]
Berechnet die Vereinigung einer oder mehrerer gegebener sortierter Mengen und speichert sie in einem neuen Schlüssel.
20ZSCAN key cursor [MATCH pattern] [COUNT count]
Über Elemente in einem sortierten Set iterieren (einschließlich Element-Member und Element-Scores).
Andere Erweiterungen