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