Datenstrukturen
Hash
HDEL
Syntax
HDEL key field [field ...]
Entfernt die angegebenen Felder aus dem Hash, der unter key gespeichert ist. Angegebene Felder, die nicht in diesem Hash vorhanden sind, werden ignoriert. Wenn key nicht existiert, wird er als leerer Hash behandelt und dieser Befehl gibt 0 zurück.
HEXISTS
Syntax
HEXISTS key field
Gibt zurück, ob das Feld ein existierendes Feld im Hash unter key ist.
HGET
Syntax
HGET key field
Gibt den Wert zurück, der dem Feld im Hash unter key zugeordnet ist.
HGETALL
Syntax
HGETALL key
Gibt alle Felder und Werte des Hashes zurück, der unter key gespeichert ist. Im zurückgegebenen Wert folgt jedem Feldnamen sein Wert, sodass die Länge der Antwort doppelt so groß ist wie die Größe des Hashes.
HINCRBY
Syntax
HINCRBY key field increment
Erhöht die unter Feld im Hash unter key gespeicherte Zahl um increment. Wenn key nicht existiert, wird ein neuer key mit einem Hash erstellt. Wenn Feld nicht existiert, wird der Wert vor der Ausführung der Operation auf 0 gesetzt. Der von HINCRBY unterstützte Wertebereich ist auf 64-Bit-Integer beschränkt.
HINCRBYFLOAT
Syntax
HINCRBYFLOAT key field increment
Erhöht das angegebene Feld eines Hashes, der unter key gespeichert ist und eine Fließkommazahl darstellt, um den angegebenen Inkrementwert. Wenn der Inkrementwert negativ ist, wird der Hash-Feldwert stattdessen dekrementiert. Wenn das Feld nicht existiert, wird es vor der Operation auf 0 gesetzt. Ein Fehler wird zurückgegeben, wenn eine der folgenden Bedingungen eintritt:
- Das Feld enthält einen Wert vom falschen Typ (kein String).
- Der aktuelle Feldinhalt oder der angegebene Inkrementwert können nicht als doppelt präzise Fließkommazahl interpretiert werden.
HKEYS
Syntax
HKEYS key
Gibt alle Feldnamen im Hash zurück, der unter key gespeichert ist.
HLEN
Syntax
HLEN key
Gibt die Anzahl der Felder im Hash zurück, der unter key gespeichert ist.
HMGET
Syntax
HMGET key field [field ...]
Gibt die Werte zurück, die den angegebenen Feldern im Hash unter key zugeordnet sind.
Für jedes Feld, das im Hash nicht existiert, wird ein Nil-Wert zurückgegeben. Da nicht existierende Schlüssel als leere Hashes behandelt werden, gibt die Ausführung von HMGET gegen einen nicht existierenden key eine Liste von Nil-Werten zurück.
HMSET
Syntax
HMSET key field value [field value ...]
Veraltet zugunsten von HSET mit mehreren Feld-Wert-Paaren.
Setzt die angegebenen Felder auf ihre jeweiligen Werte im Hash unter key. Dieser Befehl überschreibt alle angegebenen Felder, die bereits im Hash vorhanden sind. Wenn key nicht existiert, wird ein neuer key mit einem Hash erstellt.
HRANDFIELD
Syntax
HRANDFIELD key [count [WITHVALUES]]
Wenn nur mit dem Argument key aufgerufen, gibt ein zufälliges Feld aus dem Hash-Wert zurück, der unter key gespeichert ist.
Wenn das angegebene Zählargument positiv ist, wird ein Array von eindeutigen Feldern zurückgegeben. Die Länge des Arrays ist entweder count oder die Anzahl der Felder des Hashes (HLEN), je nachdem, welcher Wert kleiner ist.
Wenn mit einem negativen Zählwert aufgerufen, ändert sich das Verhalten und der Befehl darf dasselbe Feld mehrmals zurückgeben. In diesem Fall ist die Anzahl der zurückgegebenen Felder der absolute Wert des angegebenen Zählers.
Der optionale WITHVALUES-Modifikator ändert die Antwort, sodass er die jeweiligen Werte der zufällig ausgewählten Hash-Felder enthält.
HSCAN
Syntax
HSCAN key cursor [MATCH pattern] [COUNT count] [NOVALUES]
Iteriert über die Felder und Werte eines Hashes, der unter einem bestimmten key gespeichert ist. Ähnlich wie die Befehle SSCAN und ZSCAN wird HSCAN verwendet, um die Elemente des Hash-Sets schrittweise zu durchlaufen*.
Der match-Parameter ermöglicht das Anwenden eines Filters auf Elemente, nachdem sie aus der Sammlung abgerufen wurden. Die Option count setzt ein Limit für die maximale Anzahl von Elementen, die von diesem Befehl vom Server zurückgegeben werden. Dieses Limit wird auch in Verbindung mit dem object-scan-count-limit der globalen Servereinstellungen gesetzt.
Sie können die Option NOVALUES verwenden, damit Redis nur die Schlüssel im Hash-Tabellen ohne ihre entsprechenden Werte zurückgibt.
HSET
Syntax
HSET key field value
Setzt die angegebenen Felder auf ihre jeweiligen Werte im Hash unter key. Dieser Befehl überschreibt die Werte von angegebenen Feldern, die im Hash existieren. Wenn key nicht existiert, wird ein neuer key mit einem Hash erstellt.
HSETNX
Syntax
HSETNX key field value
Setzt das Feld im Hash unter key auf value, nur wenn das Feld noch nicht existiert. Wenn key nicht existiert, wird ein neuer key mit einem Hash erstellt. Wenn das Feld bereits existiert, hat diese Operation keine Auswirkung.
HSTRLEN
Syntax
HSTRLEN key field
Gibt die String-Länge des Werts zurück, der dem field im Hash unter key zugeordnet ist. Wenn der key oder das field nicht existieren, wird 0 zurückgegeben.
HVALS
Syntax
HVALS key
Gibt alle Werte im Hash zurück, der unter key gespeichert ist.
HEXPIRE
Syntax
HEXPIRE key seconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
Setzt ein Timeout für ein oder mehrere Felder eines Hash-Schlüssels. Nach Ablauf des Timeouts werden die Felder automatisch gelöscht. Das Timeout wird in Sekunden angegeben.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablaufzeit für Felder setzen, die keine bestehende Ablaufzeit haben.
- XX: Nur Ablaufzeit für Felder setzen, die bereits eine Ablaufzeit haben.
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
Resp Reply
Array-Antwort: Gibt für jedes Feld zurück:
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Feld nicht existiert.
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
HEXPIREAT
Syntax
HEXPIREAT key unix-time-seconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
Setzt eine absolute Ablaufzeit (Unix-Zeitstempel in Sekunden) für ein oder mehrere Hash-Felder. Nach Ablauf des Zeitstempels werden die Felder automatisch gelöscht.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablaufzeit für Felder setzen, die keine bestehende Ablaufzeit haben.
- XX: Nur Ablaufzeit für Felder setzen, die bereits eine Ablaufzeit haben.
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
Resp Reply
Array-Antwort: Gibt für jedes Feld zurück:
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Feld nicht existiert.
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
HPEXPIRE
Syntax
HPEXPIRE key milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
Ähnlich wie HEXPIRE, aber das Timeout wird in Millisekunden anstelle von Sekunden angegeben.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablaufzeit für Felder setzen, die keine bestehende Ablaufzeit haben.
- XX: Nur Ablaufzeit für Felder setzen, die bereits eine Ablaufzeit haben.
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Feld nicht existiert.
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
HPEXPIREAT
Syntax
HPEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT] FIELDS numfields field [field ...]
Ähnlich wie HEXPIREAT, verwendet aber einen Unix-Zeitstempel in Millisekunden anstelle von Sekunden.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablaufzeit für Felder setzen, die keine bestehende Ablaufzeit haben.
- XX: Nur Ablaufzeit für Felder setzen, die bereits eine Ablaufzeit haben.
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Feld nicht existiert.
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
HTTL
Syntax
HTTL key FIELDS numfields field [field ...]
Gibt die verbleibende Lebenszeit in Sekunden für ein oder mehrere Hash-Felder zurück, für die ein Timeout gesetzt ist.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- TTL in Sekunden, wenn das Feld existiert und ein Ablaufdatum hat.
- -1, wenn das Feld existiert, aber kein Ablaufdatum hat.
- -2, wenn das Feld nicht existiert.
HPTTL
Syntax
HPTTL key FIELDS numfields field [field ...]
Ähnlich wie HTTL, gibt aber die verbleibende Lebenszeit in Millisekunden anstelle von Sekunden zurück.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- TTL in Millisekunden, wenn das Feld existiert und ein Ablaufdatum hat.
- -1, wenn das Feld existiert, aber kein Ablaufdatum hat.
- -2, wenn das Feld nicht existiert.
HEXPIRETIME
Syntax
HEXPIRETIME key FIELDS numfields field [field ...]
Gibt den absoluten Unix-Zeitstempel (in Sekunden) zurück, zu dem die angegebenen Hash-Felder ablaufen.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- Unix-Zeitstempel in Sekunden, wann das Feld abläuft.
- -1, wenn das Feld existiert, aber kein Ablaufdatum hat.
- -2, wenn das Feld nicht existiert.
HPEXPIRETIME
Syntax
HPEXPIRETIME key FIELDS numfields field [field ...]
Ähnlich wie HEXPIRETIME, gibt aber den Ablaufzeitstempel in Millisekunden anstelle von Sekunden zurück.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- Unix-Zeitstempel in Millisekunden, wann das Feld abläuft.
- -1, wenn das Feld existiert, aber kein Ablaufdatum hat.
- -2, wenn das Feld nicht existiert.
HPERSIST
Syntax
HPERSIST key FIELDS numfields field [field ...]
Entfernt die Ablaufzeit von den angegebenen Hash-Feldern und macht sie persistent.
RESP-Antwort
Array-Antwort: Gibt für jedes Feld zurück:
- 1, wenn das Timeout entfernt wurde.
- 0, wenn das Feld existiert, aber kein Timeout hat.
- -1, wenn das Feld nicht existiert.
HCOLLECT
Syntax
HCOLLECT key [key ...]
Löst manuell die Bereinigung abgelaufener Felder aus dem Speicher für einen bestimmten Hash-Set-Schlüssel aus.
Verwenden Sie * als Schlüssel, um ihn aus allen Hash-Schlüsseln zu sammeln.
RESP-Antwort
Einfache Antwort: OK-Antwort. Fehlerantwort: ERR HCOLLECT-Scan bereits im Gange.
Liste
BLMOVE
Syntax
BLMOVE source destination <LEFT | RIGHT> <LEFT | RIGHT> timeout
BLMOVE ist die blockierende Variante von LMOVE. Wenn die Quelle Elemente enthält, verhält sich dieser Befehl genau wie LMOVE. Wenn er innerhalb eines MULTI/EXEC-Blocks verwendet wird, verhält sich dieser Befehl genau wie LMOVE. Wenn die Quelle leer ist, blockiert Garnet die Verbindung, bis ein anderer Client etwas pusht oder bis das Timeout (ein Doppelwert, der die maximale Anzahl von Sekunden angibt, die blockiert werden soll) erreicht ist. Ein Timeout von Null kann verwendet werden, um unbegrenzt zu blockieren.
BRPOPLPUSH
Syntax
BRPOPLPUSH source destination timeout
Der Befehl BRPOPLPUSH entfernt das letzte Element aus der Liste, die unter source gespeichert ist, und pusht das Element in die Liste, die unter destination gespeichert ist. Anschließend gibt er das Element an den Aufrufer zurück.
RESP-Antwort
Bulk-String-Antwort: das zu poppende und zu pushierende Element.
BLMPOP
Syntax
BLMPOP timeout numkeys key [key ...] <LEFT | RIGHT> [COUNT count]
BLMPOP ist die blockierende Variante von LMPOP. Wenn eine der Listen Elemente enthält, verhält sich dieser Befehl genau wie LMPOP. Wenn er innerhalb eines MULTI/EXEC-Blocks verwendet wird, verhält sich dieser Befehl genau wie LMPOP. Wenn alle Listen leer sind, blockiert Garnet die Verbindung, bis ein anderer Client etwas pusht oder bis das Timeout (ein Doppelwert, der die maximale Anzahl von Sekunden angibt, die blockiert werden soll) erreicht ist. Ein Timeout von Null kann verwendet werden, um unbegrenzt zu blockieren.
BLPOP
Syntax
BLPOP key [key ...] timeout
BLPOP ist ein blockierendes Listen-Pop-Primitive. Es ist die blockierende Version von LPOP, da es die Verbindung blockiert, wenn keine Elemente aus einer der gegebenen Listen gepoppt werden können. Ein Element wird vom Kopf der ersten nicht leeren Liste gepoppt, wobei die gegebenen Schlüssel in der Reihenfolge, in der sie angegeben werden, geprüft werden.
BRPOP
Syntax
BRPOP key [key ...] timeout
BRPOP ist ein blockierendes Listen-Pop-Primitive. Es ist die blockierende Version von RPOP, da es die Verbindung blockiert, wenn keine Elemente aus einer der gegebenen Listen gepoppt werden können. Ein Element wird vom Schwanz der ersten nicht leeren Liste gepoppt, wobei die gegebenen Schlüssel in der Reihenfolge, in der sie angegeben werden, geprüft werden.
LINDEX
Syntax
LINDEX key index
Entfernt das Element am Index index aus der Liste, die unter key gespeichert ist. Der Index ist nullbasiert. Negative Indizes können verwendet werden, um Elemente ab dem Ende der Liste zu bezeichnen.
LINSERT
Syntax
LINSERT key BEFORE|AFTER pivot element
Fügt ein Element in die Liste, die unter key gespeichert ist, entweder vor oder nach dem Referenzwert (pivot) ein. Wenn key nicht existiert, wird sie als leere Liste betrachtet und es wird keine Operation ausgeführt.
LLEN
Syntax
LLEN key
Gibt die Länge der Liste zurück, die unter key gespeichert ist. Wenn key nicht existiert, wird sie als leere Liste interpretiert und 0 zurückgegeben.
LMOVE
Syntax
LMOVE source destination LEFT|RIGHT LEFT|RIGHT
Gibt atomar das erste/letzte Element (Kopf/Schwanz, abhängig vom Argument wherefrom) der Liste, die unter source gespeichert ist, zurück und entfernt es. Anschließend wird das Element am ersten/letzten Element (Kopf/Schwanz, abhängig vom Argument whereto) der Liste, die unter destination gespeichert ist, angehängt.
Dieser Befehl ersetzt den nun veralteten RPOPLPUSH. LMOVE RIGHT LEFT auszuführen ist äquivalent.
LMPOP
Syntax
LMPOP numkeys key [key ...] <LEFT | RIGHT> [COUNT count]
Poppt ein oder mehrere Elemente aus der ersten nicht leeren Listen-Schlüssel aus der Liste der angegebenen Schlüsselnamen.
LPOP
Syntax
LPOP key [count]
Entfernt und gibt das/die erste(n) Element(e) der Liste zurück, die unter key gespeichert ist.
Standardmäßig poppt der Befehl ein einzelnes Element vom Anfang der Liste. Wenn das optionale Zählargument angegeben wird, besteht die Antwort aus bis zu count Elementen, abhängig von der Länge der Liste.
LPOS
Syntax
LPOS key element [RANK rank] [COUNT num-matches] [MAXLEN len]
Der Befehl gibt den Index von übereinstimmenden Elementen innerhalb einer Redis-Liste zurück. Standardmäßig, wenn keine Optionen angegeben sind, scannt er die Liste von Kopf bis Schwanz und sucht nach der ersten Übereinstimmung mit "element". Wenn das Element gefunden wird, wird sein Index (die nullbasierte Position in der Liste) zurückgegeben. Andernfalls, wenn keine Übereinstimmung gefunden wird, wird nil zurückgegeben.
RESP-Antwort
Eine der folgenden
- Null-Antwort: wenn kein übereinstimmendes Element vorhanden ist.
- Integer-Antwort: eine Ganzzahl, die das übereinstimmende Element darstellt.
- Array-Antwort: Wenn die COUNT-Option angegeben ist, ein Array von Ganzzahlen, die die übereinstimmenden Elemente darstellen (oder ein leeres Array, wenn keine Übereinstimmungen vorhanden sind).
LPUSH
Syntax
LPUSH key [element] [element ...]
Fügt alle angegebenen Werte am Kopf der Liste ein, die unter key gespeichert ist. Wenn key nicht existiert, wird sie vor der Ausführung der Push-Operationen als leere Liste erstellt.
LPUSHX
Syntax
LPUSHX key [element] [element ...]
Fügt angegebene Werte am Kopf der Liste ein, die unter key gespeichert ist, nur wenn key bereits existiert und eine Liste enthält. Im Gegensatz zu LPUSH wird keine Operation ausgeführt, wenn key noch nicht existiert.
LRANGE
Syntax
LRANGE key start stop
Gibt die angegebenen Elemente der Liste zurück, die unter key gespeichert ist. Die Offsets start und stop sind nullbasierte Indizes, wobei 0 das erste Element der Liste (der Kopf der Liste) ist, 1 das nächste Element usw.
LREM
Syntax
LREM key count element
Entfernt die ersten count Vorkommen von Elementen, die gleich element sind, aus der Liste, die unter key gespeichert ist. Das Argument count beeinflusst die Operation wie folgt:
-
count > 0: Entfernt Elemente, die gleich element sind, und bewegt sich von Kopf zu Schwanz.
-
count < 0: Entfernt Elemente, die gleich element sind, und bewegt sich von Schwanz zu Kopf.
-
count = 0: Entfernt alle Elemente, die gleich element sind.
LSET
Syntax
LSET key index element
Setzt das Listenelement am index auf element. Weitere Informationen zum Index-Argument finden Sie unter LINDEX.
Bei Indizes außerhalb des Bereichs wird ein Fehler zurückgegeben.
LTRIM
Syntax
LTRIM key start stop
Schneidet eine bestehende Liste so zurecht, dass sie nur den angegebenen Bereich von Elementen enthält. Sowohl start als auch stop sind nullbasierte Indizes, wobei 0 das erste Element der Liste (der Kopf) ist, 1 das nächste Element und so weiter.
RPOP
Syntax
RPOP key [count]
Entfernt und gibt das/die letzte(n) Element(e) der Liste zurück, die unter key gespeichert ist.
Standardmäßig poppt der Befehl ein einzelnes Element vom Ende der Liste. Wenn das optionale Zählargument angegeben wird, besteht die Antwort aus bis zu count Elementen, abhängig von der Länge der Liste.
RPOPLPUSH
Syntax
RPOPLPUSH source destination
Gibt atomar das letzte Element (Schwanz) der Liste, die unter source gespeichert ist, zurück und entfernt es. Anschließend wird das Element am ersten Element (Kopf) der Liste, die unter destination gespeichert ist, angehängt.
Es kann durch LMOVE mit den Argumenten RIGHT und LEFT ersetzt werden, wenn Daten migriert oder neuer Code geschrieben wird.
RPUSH
Syntax
RPUSH key element [element]
Fügt alle angegebenen Werte am Schwanz der Liste ein, die unter key gespeichert ist. Wenn key nicht existiert, wird sie vor der Ausführung der Push-Operation als leere Liste erstellt.
RPUSHX
Syntax
RPUSHX key element [element]
Fügt angegebene Werte am Schwanz der Liste ein, die unter key gespeichert ist, nur wenn key bereits existiert und eine Liste enthält. Im Gegensatz zu RPUSH wird keine Operation ausgeführt, wenn key noch nicht existiert.
Set
SADD
Syntax
SADD key member [member]
Fügt die angegebenen Mitglieder zum Set hinzu, das unter key gespeichert ist. Angegebene Mitglieder, die bereits Mitglieder dieses Sets sind, werden ignoriert. Wenn key nicht existiert, wird ein neues Set erstellt, bevor die angegebenen Mitglieder hinzugefügt werden.
SCARD
Syntax
SCARD key
Gibt die Kardinalität des Sets (Anzahl der Elemente) zurück, das unter key gespeichert ist.
SMEMBERS
Syntax
SMEMBERS key
Gibt alle Mitglieder des Set-Werts zurück, der unter key gespeichert ist.
SMOVE
Syntax
SMOVE source destination member
Verschiebt ein Mitglied vom Set unter source zum Set unter destination. Diese Operation ist atomar. Zu jedem Zeitpunkt wird das Element für andere Clients als Mitglied von source oder destination erscheinen.
SPOP
Syntax
SPOP key [count]
Entfernt und gibt ein oder mehrere zufällige Mitglieder aus dem Set-Wert zurück, der unter key gespeichert ist.
SISMEMBER
Syntax
SISMEMBER key member
Gibt zurück, ob member ein Mitglied des Sets ist, das unter key gespeichert ist.
SMISMEMBER
Syntax
SMISMEMBER key member [member ...]
Gibt zurück, ob jedes member ein Mitglied des Sets ist, das unter key gespeichert ist.
RESP-Antwort
Array-Antwort: eine Liste, die die Mitgliedschaft der gegebenen Elemente darstellt, in der gleichen Reihenfolge, in der sie angefordert werden.
SRANDMEMBER
Syntax
SRANDMEMBER key [count]
Wenn nur mit dem Argument key aufgerufen, gibt ein zufälliges Element aus dem Set-Wert zurück, der unter key gespeichert ist.
Wenn das angegebene count-Argument positiv ist, wird ein Array von eindeutigen Elementen zurückgegeben. Die Länge des Arrays ist entweder count oder die Kardinalität des Sets (SCARD), je nachdem, welcher Wert kleiner ist.
Wenn mit einem negativen count aufgerufen, ändert sich das Verhalten und der Befehl darf dasselbe Element mehrmals zurückgeben. In diesem Fall ist die Anzahl der zurückgegebenen Elemente der absolute Wert des angegebenen count.
SREM
Syntax
SREM key member [member]
Entfernt die angegebenen Mitglieder aus dem Set, das unter key gespeichert ist. Angegebene Mitglieder, die keine Mitglieder dieses Sets sind, werden ignoriert.
Wenn key nicht existiert, wird er als leeres Set behandelt und dieser Befehl gibt 0 zurück.
SSCAN
Syntax
SSCAN key cursor [MATCH pattern] [COUNT count]
Iteriert Elemente von Set-Typen. Ähnlich wie die Befehle HSCAN und ZSCAN wird SSCAN verwendet, um die Elemente des Sets, das unter key gespeichert ist, schrittweise zu durchlaufen.
Der match-Parameter ermöglicht das Anwenden eines Filters auf Elemente, nachdem sie aus der Sammlung abgerufen wurden. Die Option count setzt ein Limit für die maximale Anzahl von Elementen, die von diesem Befehl vom Server zurückgegeben werden. Dieses Limit wird auch in Verbindung mit dem object-scan-count-limit der globalen Servereinstellungen gesetzt.
SUNION
Syntax
SUNION key [key ...]
Gibt die Mitglieder des Sets zurück, das sich aus der Vereinigung aller gegebenen Sets ergibt. Nicht existierende Schlüssel werden als leere Sets betrachtet.
SUNIONSTORE
Syntax
SUNIONSTORE destination key [key ...]
Dieser Befehl ist gleichbedeutend mit SUNION, speichert aber anstatt das Ergebnis-Set zurückzugeben, dieses in destination.
Wenn destination bereits existiert, wird es überschrieben.
SINTER
Syntax
SINTER key [key ...]
Gibt die Mitglieder des Sets zurück, das sich aus dem Schnitt aller gegebenen Sets ergibt. Nicht existierende Schlüssel werden als leere Sets betrachtet.
SINTERSTORE
Syntax
SINTERSTORE destination key [key ...]
Dieser Befehl ist gleichbedeutend mit SINTER, speichert aber anstatt das Ergebnis-Set zurückzugeben, dieses in destination.
Wenn destination bereits existiert, wird es überschrieben.
SINTERCARD
Syntax
SINTERCARD numkeys [key ...] [LIMIT limit]
Gibt die Anzahl der Mitglieder im Ergebnis-Set aus dem Schnitt aller gegebenen Sets zurück. Nicht existierende Schlüssel werden als leere Sets betrachtet.
Das optionale LIMIT-Argument gibt eine Obergrenze für die Anzahl der übereinstimmenden Mitglieder an, die gezählt werden sollen.
SDIFF
Syntax
SDIFF key [key ...]
Gibt die Mitglieder des Sets zurück, das sich aus der Differenz zwischen dem ersten Set und allen nachfolgenden Sets ergibt.
Nicht existierende Schlüssel werden als leere Sets betrachtet.
SDIFFSTORE
Syntax
SDIFFSTORE destination key [key ...]
Dieser Befehl ist gleichbedeutend mit SDIFF, speichert aber anstatt das Ergebnis-Set zurückzugeben, dieses in destination.
Wenn destination bereits existiert, wird es überschrieben.
Sortiertes Set
ZADD
Syntax
ZADD key score member [score member ...]
Fügt alle angegebenen Mitglieder mit den angegebenen Scores zum sortierten Set hinzu, das unter key gespeichert ist. Es ist möglich, mehrere Score-/Mitgliederpaare anzugeben. Wenn ein angegebenes Mitglied bereits Mitglied des sortierten Sets ist, wird der Score aktualisiert und das Element an der richtigen Position neu eingefügt, um die korrekte Reihenfolge sicherzustellen.
Wenn key nicht existiert, wird ein neues sortiertes Set mit den angegebenen Mitgliedern als alleinigen Mitgliedern erstellt, als wäre das sortierte Set leer.
Die Score-Werte sollten die String-Darstellung einer doppelt präzisen Fließkommazahl sein.
ZCARD
Syntax
ZCARD key
Gibt die Kardinalität des sortierten Sets (Anzahl der Elemente) zurück, das unter key gespeichert ist.
ZCOUNT
Syntax
ZCOUNT key min max
Gibt die Anzahl der Elemente im sortierten Set unter key zurück, deren Score zwischen min und max liegt.
Die Argumente min und max haben dieselbe Semantik wie für ZRANGEBYSCORE beschrieben.
ZDIFF
Syntax
ZDIFF numkeys key [key ...] [WITHSCORES]
Gibt die Differenz zwischen dem ersten und allen nachfolgenden Eingabesortierten Sets zurück. Die Gesamtzahl der Eingabeschlüssel wird durch numkeys angegeben.
Nicht vorhandene Schlüssel werden als leere Sets betrachtet.
ZDIFFSTORE
Syntax
ZDIFFSTORE destination numkeys key [key ...]
Berechnet die Differenz zwischen dem ersten und allen nachfolgenden Eingabesortierten Sets und speichert das Ergebnis in destination. Die Gesamtzahl der Eingabeschlüssel wird durch numkeys angegeben.
Nicht vorhandene Schlüssel werden als leere Sets betrachtet.
RESP-Antwort
Ganzzahl-Antwort: Die Anzahl der Mitglieder im resultierenden sortierten Set unter destination.
ZINCRBY
Syntax
ZINCRBY key increment member
Erhöht den Score des Mitglieds im sortierten Set unter key um increment. Wenn das Mitglied im sortierten Set nicht existiert, wird es mit increment als Score hinzugefügt (als ob sein vorheriger Score 0.0 wäre). Wenn key nicht existiert, wird ein neues sortiertes Set mit dem angegebenen Mitglied als einzigem Mitglied erstellt.
Ein Fehler wird zurückgegeben, wenn key existiert, aber kein sortiertes Set enthält.
Der Score-Wert sollte die String-Darstellung eines numerischen Wertes sein und akzeptiert double-precision Fließkommazahlen. Es ist möglich, einen negativen Wert anzugeben, um den Score zu dekrementieren.
ZINTER
Syntax
ZINTER numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE <SUM|MIN|MAX>] [WITHSCORES]
Berechnet den Schnittpunkt der angegebenen sortierten Sets und gibt das Ergebnis zurück. Es ist möglich, mehrere Schlüssel anzugeben.
Das Ergebnis ist ein neues sortiertes Set mit denselben Elementen wie die Eingabesets, aber mit Scores, die der Summe der Scores der Elemente in den Eingabesets entsprechen.
ZINTERCARD
Syntax
ZINTERCARD numkeys key [key ...] [LIMIT limit]
Gibt die Anzahl der Elemente im Schnittpunkt der angegebenen sortierten Sets zurück.
ZINTERSTORE
Syntax
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE <SUM|MIN|MAX>]
Berechnet den Schnittpunkt der angegebenen sortierten Sets und speichert das Ergebnis im Zielschlüssel.
ZLEXCOUNT
Syntax
ZLEXCOUNT key min max
Wenn alle Elemente in einem sortierten Set mit demselben Score eingefügt werden, um die lexikographische Ordnung zu erzwingen, gibt dieser Befehl die Anzahl der Elemente im sortierten Set unter key zurück, deren Wert zwischen min und max liegt.
Die Argumente min und max haben dieselbe Bedeutung wie für ZRANGEBYLEX beschrieben.
ZMSCORE
Syntax
ZMSCORE key member [member ...]
Gibt die Scores zurück, die den angegebenen Mitgliedern im sortierten Set unter key zugeordnet sind.
Für jedes Mitglied, das im sortierten Set nicht existiert, wird ein nil-Wert zurückgegeben.
Gibt eine der folgenden zurück:
Nil-Antwort: wenn das Mitglied im sortierten Set nicht existiert.
Array-Antwort: eine Liste von String-Mitgliedern-Scores als double-precision Fließkommazahlen.
BZMPOP
Syntax
BZMPOP timeout numkeys key [key ...] <MIN | MAX> [COUNT count]
BZMPOP ist die blockierende Variante von ZMPOP. Wenn eines der sortierten Sets Elemente enthält, verhält sich dieser Befehl genau wie ZMPOP. Wenn er innerhalb eines MULTI/EXEC-Blocks verwendet wird, verhält sich dieser Befehl genau wie ZMPOP. Wenn alle sortierten Sets leer sind, blockiert Garnet die Verbindung, bis ein anderer Client etwas einfügt oder bis das Timeout (ein Doppelwert, der die maximale Anzahl von Sekunden für das Blockieren angibt) erreicht ist. Ein Timeout von Null kann verwendet werden, um unbegrenzt zu blockieren.
- MIN: Entfernt Elemente, beginnend mit den niedrigsten Scores
- MAX: Entfernt Elemente, beginnend mit den höchsten Scores
- COUNT: Gibt an, wie viele Elemente entnommen werden sollen (Standard ist 1)
RESP-Antwort
Eine der folgenden
- Null-Antwort: wenn kein Element entnommen werden konnte.
- Array-Antwort: ein zweielementiges Array, wobei das erste Element der Name des Schlüssels ist, von dem Elemente entnommen wurden, und das zweite Element ein Array der entnommenen Elemente ist. Jeder Eintrag im Element-Array ist ebenfalls ein Array, das das Mitglied und seinen Score enthält.
BZPOPMAX
Syntax
BZPOPMAX key [key ...] timeout
BZPOPMAX ist die blockierende Variante von ZPOPMAX. Wenn eines der sortierten Sets Elemente enthält, verhält sich dieser Befehl genau wie ZPOPMAX. Wenn er innerhalb eines MULTI/EXEC-Blocks verwendet wird, verhält sich dieser Befehl genau wie ZPOPMAX. Wenn alle sortierten Sets leer sind, blockiert Garnet die Verbindung, bis ein anderer Client etwas einfügt oder bis das Timeout (ein Doppelwert, der die maximale Anzahl von Sekunden für das Blockieren angibt) erreicht ist. Ein Timeout von Null kann verwendet werden, um unbegrenzt zu blockieren.
RESP-Antwort
Eine der folgenden
- Null-Antwort: wenn kein Element entnommen werden konnte und das Timeout abgelaufen ist.
- Array-Antwort: der Schlüsselname, das entnommene Mitglied und sein Score.
BZPOPMIN
Syntax
BZPOPMIN key [key ...] timeout
BZPOPMIN ist die blockierende Variante von ZPOPMIN. Wenn eines der sortierten Sets Elemente enthält, verhält sich dieser Befehl genau wie ZPOPMIN. Wenn er innerhalb eines MULTI/EXEC-Blocks verwendet wird, verhält sich dieser Befehl genau wie ZPOPMIN. Wenn alle sortierten Sets leer sind, blockiert Garnet die Verbindung, bis ein anderer Client etwas einfügt oder bis das Timeout (ein Doppelwert, der die maximale Anzahl von Sekunden für das Blockieren angibt) erreicht ist. Ein Timeout von Null kann verwendet werden, um unbegrenzt zu blockieren.
RESP-Antwort
Eine der folgenden
- Null-Antwort: wenn kein Element entnommen werden konnte und das Timeout abgelaufen ist.
- Array-Antwort: der Schlüsselname, das entnommene Mitglied und sein Score.
ZMPOP
Syntax
ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]
Entfernt und gibt ein oder mehrere Mitglieder mit den niedrigsten Scores (Standard) oder den höchsten Scores aus dem oder den sortierten Sets zurück.
- MIN: Entfernt Elemente, beginnend mit den niedrigsten Scores
- MAX: Entfernt Elemente, beginnend mit den höchsten Scores
- COUNT: Gibt an, wie viele Elemente entnommen werden sollen (Standard ist 1)
ZPOPMAX
Syntax
ZPOPMAX key [count]
Entfernt und gibt bis zu count Mitglieder mit den höchsten Scores im sortierten Set unter key zurück.
Wenn nicht angegeben, ist der Standardwert für count 1. Das Angeben eines count-Wertes, der höher als die Kardinalität des sortierten Sets ist, führt nicht zu einem Fehler. Wenn mehrere Elemente zurückgegeben werden, ist das Element mit dem höchsten Score das erste, gefolgt von den Elementen mit niedrigeren Scores.
ZPOPMIN
Syntax
ZPOPMIN key [count]
Entfernt und gibt bis zu count Mitglieder mit den niedrigsten Scores im sortierten Set unter key zurück.
Wenn nicht angegeben, ist der Standardwert für count 1. Das Angeben eines count-Wertes, der höher als die Kardinalität des sortierten Sets ist, führt nicht zu einem Fehler. Wenn mehrere Elemente zurückgegeben werden, ist das Element mit dem niedrigsten Score das erste, gefolgt von den Elementen mit größeren Scores.
ZRANDMEMBER
Syntax
ZRANDMEMBER key [count [WITHSCORES]]
Wenn nur mit dem Schlüsselargument aufgerufen, gibt es ein zufälliges Element aus dem sortierten Set unter key zurück.
Wenn das angegebene count-Argument positiv ist, werden Array von unterschiedlichen Elementen zurückgegeben. Die Länge des Arrays ist entweder count oder die Kardinalität des sortierten Sets ZCARD, je nachdem, welcher Wert niedriger ist.
Wenn mit einem negativen count aufgerufen, ändert sich das Verhalten und der Befehl darf dasselbe Element mehrmals zurückgeben. In diesem Fall ist die Anzahl der zurückgegebenen Elemente der absolute Wert des angegebenen Counts.
Der optionale WITHSCORES-Modifikator ändert die Antwort so, dass die entsprechenden Scores der zufällig ausgewählten Elemente aus dem sortierten Set enthalten sind.
ZRANGE
Syntax
ZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
Gibt den angegebenen Bereich von Elementen im sortierten Set unter key zurück.
ZRANGE kann verschiedene Arten von Bereichsabfragen durchführen: nach Index (Rang), nach Score oder nach lexikographischer Reihenfolge.
ZRANGEBYLEX
Syntax
ZRANGEBYLEX key min max [LIMIT offset count]
Wenn alle Elemente in einem sortierten Set mit demselben Score eingefügt werden, um die lexikographische Ordnung zu erzwingen, gibt dieser Befehl alle Elemente im sortierten Set unter key zurück, deren Wert zwischen min und max liegt.
Wenn die Elemente im sortierten Set unterschiedliche Scores haben, sind die zurückgegebenen Elemente undefiniert.
Es kann durch ZRANGE mit dem Argument BYLEX beim Migrieren von älteren Versionen ersetzt werden.
ZRANGEBYSCORE
Syntax
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
Gibt alle Elemente im sortierten Set unter key mit einem Score zwischen min und max zurück (einschließlich Elementen mit Score gleich min oder max). Die Elemente werden von niedrigen zu hohen Scores geordnet.
Elemente mit demselben Score werden in lexikographischer Reihenfolge zurückgegeben.
Es kann durch ZRANGE mit dem Argument BYSCORE beim Migrieren oder Schreiben neuen Codes ersetzt werden.
ZRANK
Syntax
ZRANK key member [WITHSCORE]
Gibt den Rang des Mitglieds im sortierten Set unter key zurück, wobei die Scores von niedrig nach hoch geordnet sind. Der Rang (oder Index) ist 0-basiert, was bedeutet, dass das Mitglied mit dem niedrigsten Score den Rang 0 hat.
Das optionale WITHSCORE-Argument ergänzt die Antwort des Befehls mit dem Score des zurückgegebenen Elements.
Verwenden Sie ZREVRANK, um den Rang eines Elements mit den Scores von hoch nach niedrig geordnet zu erhalten.
ZREM
Syntax
ZREM key member [member ...]
Entfernt die angegebenen Mitglieder aus dem sortierten Set unter key. Nicht existierende Mitglieder werden ignoriert.
ZREMRANGEBYLEX
Syntax
ZREMRANGEBYLEX key min max
Wenn alle Elemente in einem sortierten Set mit demselben Score eingefügt werden, um die lexikographische Ordnung zu erzwingen, entfernt dieser Befehl alle Elemente im sortierten Set unter key im lexikographischen Bereich zwischen min und max.
Die Bedeutung von min und max ist dieselbe wie im Befehl ZRANGEBYLEX. Ähnlich entfernt dieser Befehl dieselben Elemente, die ZRANGEBYLEX bei Verwendung derselben min- und max-Argumente zurückgeben würde.
ZREVRANGEBYLEX
Syntax
ZREVRANGEBYLEX key max min [LIMIT offset count]
Der Befehl ZREVRANGEBYLEX gibt einen Bereich von Mitgliedern in einem sortierten Set zurück, in lexikographischer Reihenfolge, von höheren zu niedrigeren Zeichenketten.
RESP-Antwort
Array-Antwort: Liste der Elemente im angegebenen Bereich.
ZREMRANGEBYSCORE
Syntax
ZREMRANGEBYSCORE key min max
Entfernt alle Elemente im sortierten Set unter key mit einem Score zwischen min und max (einschließlich).
ZREMRANGEBYRANK
Syntax
ZREMRANGEBYRANK key start stop
Entfernt alle Elemente im sortierten Set unter key mit einem Rang zwischen start und stop. Sowohl start als auch stop sind 0-basierte Indizes, wobei 0 das Element mit dem niedrigsten Score ist. Diese Indizes können negative Zahlen sein, wo sie Offsets vom Element mit dem höchsten Score aus angeben. Zum Beispiel: -1 ist das Element mit dem höchsten Score, -2 das Element mit dem zweithöchsten Score und so weiter.
ZREMRANGEBYSCORE
Syntax
ZREMRANGEBYSCORE key min max
Entfernt alle Elemente im sortierten Set unter key mit einem Score zwischen min und max (einschließlich).
ZREVRANGE
Syntax
ZREVRANGE key start stop [WITHSCORES]
Gibt den angegebenen Bereich von Elementen im sortierten Set unter key zurück. Die Elemente werden von den höchsten zu den niedrigsten Scores geordnet. Bei gleichen Scores wird die absteigende lexikographische Ordnung verwendet.
Abgesehen von der umgekehrten Reihenfolge ist ZREVRANGE ähnlich wie ZRANGE.
ZREVRANGEBYSCORE
Syntax
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
Gibt alle Elemente im sortierten Set unter key mit einem Score zwischen max und min zurück (einschließlich Elemente mit Score gleich max oder min).
ZREVRANK
Syntax
ZREVRANK key member [WITHSCORE]
Gibt den Rang des Mitglieds im sortierten Set unter key zurück, wobei die Scores von hoch nach niedrig geordnet sind. Der Rang (oder Index) ist 0-basiert, was bedeutet, dass das Mitglied mit dem höchsten Score den Rang 0 hat.
Das optionale WITHSCORE-Argument ergänzt die Antwort des Befehls mit dem Score des zurückgegebenen Elements.
Verwenden Sie ZRANK, um den Rang eines Elements mit den Scores von niedrig nach hoch geordnet zu erhalten.
ZSCAN
Syntax
ZSCAN key cursor [MATCH pattern] [COUNT count]
Iteriert über die Elemente eines sortierten Sets. Ähnlich wie die Befehle HSCAN und SSCAN wird ZSCAN verwendet, um über die Elemente des Sets unter key inkrementell zu iterieren.
Der match-Parameter ermöglicht das Anwenden eines Filters auf Elemente, nachdem sie aus der Sammlung abgerufen wurden. Die Option count setzt ein Limit für die maximale Anzahl von Elementen, die von diesem Befehl vom Server zurückgegeben werden. Dieses Limit wird auch in Verbindung mit dem object-scan-count-limit der globalen Servereinstellungen gesetzt.
ZSCORE
Syntax
ZSCORE key member
Gibt den Score des Mitglieds im sortierten Set unter key zurück.
Wenn das Mitglied im sortierten Set nicht existiert oder key nicht existiert, wird nil zurückgegeben.
ZRANGESTORE
Syntax
ZRANGESTORE dst src min max [BYSCORE|BYLEX] [REV] [LIMIT offset count]
Speichert den angegebenen Bereich von Elementen im sortierten Set unter src in das sortierte Set unter dst.
ZUNION
Syntax
ZUNION numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE <SUM | MIN | MAX>] [WITHSCORES]
Gibt die Vereinigung der durch die Schlüssel angegebenen Eingabesortierten Sets zurück. Die Gesamtzahl der Eingabeschlüssel wird durch numkeys angegeben.
Nicht vorhandene Schlüssel werden als leere Sets betrachtet.
RESP-Antwort
Array-Antwort: Das Ergebnis der Vereinigung mit optional ihren Scores, wenn WITHSCORES verwendet wird.
ZUNIONSTORE
Syntax
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE <SUM | MIN | MAX>]
Berechnet die Vereinigung der durch die Schlüssel angegebenen Eingabesortierten Sets und speichert das Ergebnis in destination. Die Gesamtzahl der Eingabeschlüssel wird durch numkeys angegeben.
Nicht vorhandene Schlüssel werden als leere Sets betrachtet.
RESP-Antwort
Ganzzahl-Antwort: Die Anzahl der Mitglieder im resultierenden sortierten Set unter destination.
ZEXPIRE
Syntax
ZEXPIRE key seconds [NX | XX | GT | LT] MEMBERS nummembers member [member ...]
Setzt ein Timeout für eines oder mehrere Mitglieder eines sortierten Set-Schlüssels. Nach Ablauf des Timeouts werden die Mitglieder automatisch gelöscht. Das Timeout wird in Sekunden angegeben.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablauf für Mitglieder setzen, die keinen bestehenden Ablauf haben
- XX: Nur Ablauf für Mitglieder setzen, die bereits einen Ablauf haben
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
RESP-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Mitglied nicht existiert
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
ZEXPIREAT
Syntax
ZEXPIREAT key unix-time-seconds [NX | XX | GT | LT] MEMBERS nummembers member [member ...]
Setzt eine absolute Ablaufzeit (Unix-Timestamp in Sekunden) für eines oder mehrere sortierte Set-Mitglieder. Nach Ablauf des Timestamps werden die Mitglieder automatisch gelöscht.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablauf für Mitglieder setzen, die keinen bestehenden Ablauf haben
- XX: Nur Ablauf für Mitglieder setzen, die bereits einen Ablauf haben
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
Resp Reply
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Mitglied nicht existiert
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
ZPEXPIRE
Syntax
ZPEXPIRE key milliseconds [NX | XX | GT | LT] MEMBERS nummembers member [member ...]
Ähnlich wie HEXPIRE, aber das Timeout wird in Millisekunden anstelle von Sekunden angegeben.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablauf für Mitglieder setzen, die keinen bestehenden Ablauf haben
- XX: Nur Ablauf für Mitglieder setzen, die bereits einen Ablauf haben
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Mitglied nicht existiert
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
ZPEXPIREAT
Syntax
ZPEXPIREAT key unix-time-milliseconds [NX | XX | GT | LT] MEMBERS nummembers member [member ...]
Ähnlich wie HEXPIREAT, verwendet aber einen Unix-Zeitstempel in Millisekunden anstelle von Sekunden.
Der Befehl unterstützt mehrere Optionen, um zu steuern, wann die Ablaufzeit gesetzt werden soll.
- NX: Nur Ablauf für Mitglieder setzen, die keinen bestehenden Ablauf haben
- XX: Nur Ablauf für Mitglieder setzen, die bereits einen Ablauf haben
- GT: Nur Ablaufzeit setzen, wenn sie größer als die aktuelle Ablaufzeit ist.
- LT: Nur Ablaufzeit setzen, wenn sie kleiner als die aktuelle Ablaufzeit ist.
Die Optionen NX, XX, GT und LT schließen sich gegenseitig aus.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- 1, wenn das Timeout gesetzt wurde.
- 0, wenn das Mitglied nicht existiert
- -1, wenn das Timeout aufgrund einer nicht erfüllten Bedingung nicht gesetzt wurde.
ZTTL
Syntax
ZTTL key MEMBERS nummembers member [member ...]
Gibt die verbleibende Lebensdauer in Sekunden für ein oder mehrere sortierte Set-Mitglieder zurück, die ein Timeout haben.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- TTL in Sekunden, wenn das Mitglied existiert und einen Ablauf hat
- -1, wenn das Mitglied existiert, aber keinen Ablauf hat
- -2, wenn das Mitglied nicht existiert
ZPTTL
Syntax
ZPTTL key MEMBERS nummembers member [member ...]
Ähnlich wie HTTL, gibt aber die verbleibende Lebenszeit in Millisekunden anstelle von Sekunden zurück.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- TTL in Millisekunden, wenn das Mitglied existiert und einen Ablauf hat
- -1, wenn das Mitglied existiert, aber keinen Ablauf hat
- -2, wenn das Mitglied nicht existiert
ZEXPIRETIME
Syntax
ZEXPIRETIME key MEMBERS nummembers member [member ...]
Gibt den absoluten Unix-Timestamp (in Sekunden) zurück, zu dem die angegebenen sortierten Set-Mitglieder ablaufen werden.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- Unix-Timestamp in Sekunden, wann das Mitglied abläuft
- -1, wenn das Mitglied existiert, aber keinen Ablauf hat
- -2, wenn das Mitglied nicht existiert
ZPEXPIRETIME
Syntax
ZPEXPIRETIME key MEMBERS nummembers member [member ...]
Ähnlich wie HEXPIRETIME, gibt aber den Ablaufzeitstempel in Millisekunden anstelle von Sekunden zurück.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- Unix-Timestamp in Millisekunden, wann das Mitglied abläuft
- -1, wenn das Mitglied existiert, aber keinen Ablauf hat
- -2, wenn das Mitglied nicht existiert
ZPERSIST
Syntax
ZPERSIST key MEMBERS nummembers member [member ...]
Entfernt den Ablauf von den angegebenen sortierten Set-Mitgliedern und macht sie persistent.
Resp-Antwort
Array-Antwort: Für jedes Mitglied wird zurückgegeben
- 1, wenn das Timeout entfernt wurde.
- 0, wenn das Mitglied existiert, aber keinen Timeout hat
- -1, wenn das Mitglied nicht existiert
ZCOLLECT
Syntax
ZCOLLECT key [key ...]
Löst manuell die Bereinigung abgelaufener Mitglieder aus dem Speicher für einen gegebenen Hash-Set-Schlüssel aus.
Verwenden Sie * als Schlüssel, um ihn aus allen sortierten Set-Schlüsseln zu sammeln.
Resp-Antwort
Einfache Antwort: OK-Antwort, Fehlerantwort: ERR ZCOLLECT scan already in progress
Geografische Indizes
GEOADD
Syntax
GEOADD key [NX | XX] [CH] longitude latitude member [longitude latitude member ... ]
Fügt die angegebenen geografischen Elemente (Längengrad, Breitengrad, Name) zum angegebenen Schlüssel hinzu. Daten werden als sortiertes Set im Schlüssel gespeichert, so dass die Elemente mit dem GEOSEARCH-Befehl abgefragt werden können.
Der Befehl nimmt Argumente im Standardformat x,y entgegen, daher muss der Längengrad vor dem Breitengrad angegeben werden. Es gibt Grenzen für die zu indexierenden Koordinaten: Gebiete sehr nahe an den Polen sind nicht indexierbar.
Die genauen Grenzen sind die folgenden:
- Gültige Längengrade sind von -180 bis 180 Grad.
- Gültige Breitengrade sind von -85.05112878 bis 85.05112878 Grad.
Der Befehl meldet einen Fehler, wenn der Benutzer versucht, Koordinaten außerhalb der angegebenen Bereiche zu indizieren.
Hinweis: Es gibt keinen GEODEL-Befehl, da Sie ZREM zum Entfernen von Elementen verwenden können. Die Geo-Index-Struktur ist ein sortiertes Set.
GEOADD bietet auch die folgenden Optionen:
- XX: Nur Elemente aktualisieren, die bereits existieren. Niemals Elemente hinzufügen.
- NX: Bestehende Elemente nicht aktualisieren. Immer neue Elemente hinzufügen.
- CH: Ändert den Rückgabewert von der Anzahl der hinzugefügten neuen Elemente zur Gesamtzahl der geänderten Elemente (CH ist die Abkürzung für changed).
Geänderte Elemente sind neu hinzugefügte Elemente und bereits existierende Elemente, deren Koordinaten aktualisiert wurden. Elemente, die in der Befehlszeile mit demselben Score angegeben sind wie in der Vergangenheit, werden also nicht gezählt. Hinweis: Normalerweise zählt der Rückgabewert von GEOADD nur die Anzahl der neu hinzugefügten Elemente.
Hinweis: Die Optionen XX und NX sind gegenseitig ausschließend.
GEODIST
Syntax
GEODIST key member1 member2 [M|KM|FT|MI]
Gibt die Entfernung zwischen zwei Mitgliedern im geografischen Index zurück, der durch das sortierte Set repräsentiert wird.
Bei einem sortierten Set, das einen geografischen Index repräsentiert und mit dem GEOADD-Befehl gefüllt wurde, gibt der Befehl die Entfernung zwischen den beiden angegebenen Mitgliedern in der angegebenen Einheit zurück.
Wenn eines oder beide Mitglieder fehlen, gibt der Befehl NULL zurück.
Die Einheit muss eine der folgenden sein und standardmäßig auf Meter gesetzt sein:
- m für Meter.
- km für Kilometer.
- mi für Meilen.
- ft für Fuß.
Die Entfernung wird unter der Annahme berechnet, dass die Erde eine perfekte Kugel ist, so dass in Ausnahmefällen Fehler von bis zu 0,5 % möglich sind.
GEOHASH
Syntax
GEOHASH key [member [member ...]]
Gibt gültige Geohash-Strings zurück, die die Position eines oder mehrerer Elemente in einem sortierten Set-Wert repräsentieren, der einen geografischen Index darstellt (wobei die Elemente mit GEOADD hinzugefügt wurden).
GEOPOS
Syntax
GEOPOS key [member [member ...]]
Gibt die Positionen (Längengrad, Breitengrad) aller angegebenen Mitglieder des geografischen Indexes zurück, der durch das sortierte Set unter key repräsentiert wird.
Bei einem sortierten Set, das einen geografischen Index darstellt und mit dem GEOADD-Befehl gefüllt wurde, ist es oft nützlich, die Koordinaten der angegebenen Mitglieder zurückzuerhalten. Wenn der geografische Index über GEOADD gefüllt wird, werden die Koordinaten in einen 52-Bit-Geohash konvertiert, sodass die zurückgegebenen Koordinaten möglicherweise nicht exakt die sind, die zum Hinzufügen der Elemente verwendet wurden, aber kleine Fehler können eingeführt werden.
Der Befehl kann eine variable Anzahl von Argumenten akzeptieren, sodass er immer ein Array von Positionen zurückgibt, auch wenn nur ein einzelnes Element angegeben wird.
GEORADIUS
Syntax
GEORADIUS_RO key longitude latitude radius <M | KM | FT | MI>
[WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC | DESC]
[STORE key | STOREDIST key]
Gibt die Mitglieder eines sortierten Sets zurück, das mit geografischen Informationen mithilfe von GEOADD gefüllt wurde und sich innerhalb der Grenzen des mit dem Zentrum und der maximalen Entfernung vom Zentrum (dem Radius) angegebenen Bereichs befinden.
Der häufigste Anwendungsfall für diesen Befehl ist das Abrufen geografischer Elemente in der Nähe eines bestimmten Punkts, nicht weiter als eine bestimmte Anzahl von Metern (oder anderen Einheiten). Dies ermöglicht es zum Beispiel, mobilen Benutzern einer Anwendung nahegelegene Orte vorzuschlagen.
Der Radius wird in einer der folgenden Einheiten angegeben:
- m für Meter.
- km für Kilometer.
- mi für Meilen.
- ft für Fuß.
Der Befehl gibt optional zusätzliche Informationen mithilfe der folgenden Optionen zurück:
- WITHDIST: Gibt auch die Entfernung der zurückgegebenen Elemente vom angegebenen Mittelpunkt zurück. Die Entfernung wird in derselben Einheit wie das Radiusargument des Befehls angegeben.
- WITHCOORD: Gibt auch den Längengrad und Breitengrad der übereinstimmenden Elemente zurück.
- WITHHASH: Gibt auch den rohen geohash-kodierten sortierten Set-Score des Elements in Form einer 52-Bit-Ganzzahl zurück. Dies ist nur für Low-Level-Hacks oder zum Debuggen nützlich und ist für den allgemeinen Benutzer sonst von geringem Interesse.
Standardmäßig gibt der Befehl unsortierte Elemente zurück. Zwei verschiedene Sortiermethoden können mit den folgenden beiden Optionen aufgerufen werden:
- ASC: Sortiert die zurückgegebenen Elemente von den nächsten zu den am weitesten entfernten, relativ zum Mittelpunkt.
- DESC: Sortiert die zurückgegebenen Elemente von den am weitesten zu den nächsten, relativ zum Mittelpunkt.
Standardmäßig werden alle übereinstimmenden Elemente zurückgegeben. Es ist möglich, die Ergebnisse auf die ersten N übereinstimmenden Elemente zu beschränken, indem die COUNT-Option verwendet wird. Wenn ANY angegeben ist, gibt der Befehl zurück, sobald genügend Übereinstimmungen gefunden wurden. Die Ergebnisse sind möglicherweise nicht die dem angegebenen Punkt am nächsten liegenden, aber andererseits ist der vom Server investierte Aufwand erheblich geringer. Wenn ANY nicht angegeben ist, führt der Befehl einen Aufwand durch, der proportional zur Anzahl der Elemente ist, die den angegebenen Bereich abdecken, und sortiert sie. Daher kann die Abfrage sehr großer Bereiche mit einer sehr kleinen COUNT-Option langsam sein, auch wenn nur wenige Ergebnisse zurückgegeben werden.
Standardmäßig gibt der Befehl die Elemente an den Client zurück. Es ist möglich, die Ergebnisse mit einer der folgenden Optionen zu speichern:
- STORE: Speichert die Elemente in einem sortierten Set, das mit ihren geografischen Informationen gefüllt ist.
- STOREDIST: Speichert die Elemente in einem sortierten Set, das mit ihrer Entfernung vom Zentrum als Fließkommazahl gefüllt ist, in derselben Einheit wie im Radius angegeben.
Antwort
Eine der folgenden
- Wenn die Option STORE oder STOREDIST angegeben ist, die Anzahl der Elemente im resultierenden Set (Integer).
- Wenn keine WITH*-Option angegeben ist, eine Array-Antwort der übereinstimmenden Mitgliedsnamen
- Wenn die Optionen WITHCOORD, WITHDIST oder WITHHASH angegeben sind, gibt der Befehl eine Array-Antwort von Arrays zurück, wobei jedes Unterarray ein einzelnes Element darstellt.
- Die Entfernung vom Zentrum als Gleitkommazahl, in derselben Einheit, die für den Radius angegeben wurde.
- Der Geohash-Integer.
- Die Koordinaten als Array mit zwei Elementen x,y (Längengrad, Breitengrad).
GEORADIUS_RO
Syntax
GEORADIUS_RO key longitude latitude radius <M | KM | FT | MI>
[WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC | DESC]
Gibt die Mitglieder eines sortierten Sets zurück, das mit geografischen Informationen mithilfe von GEOADD gefüllt wurde und sich innerhalb der Grenzen des mit dem Zentrum und der maximalen Entfernung vom Zentrum (dem Radius) angegebenen Bereichs befinden.
Der häufigste Anwendungsfall für diesen Befehl ist das Abrufen geografischer Elemente in der Nähe eines bestimmten Punkts, nicht weiter als eine bestimmte Anzahl von Metern (oder anderen Einheiten). Dies ermöglicht es zum Beispiel, mobilen Benutzern einer Anwendung nahegelegene Orte vorzuschlagen.
Der Radius wird in einer der folgenden Einheiten angegeben:
- m für Meter.
- km für Kilometer.
- mi für Meilen.
- ft für Fuß.
Der Befehl gibt optional zusätzliche Informationen mithilfe der folgenden Optionen zurück:
- WITHDIST: Gibt auch die Entfernung der zurückgegebenen Elemente vom angegebenen Mittelpunkt zurück. Die Entfernung wird in derselben Einheit wie das Radiusargument des Befehls angegeben.
- WITHCOORD: Gibt auch den Längengrad und Breitengrad der übereinstimmenden Elemente zurück.
- WITHHASH: Gibt auch den rohen geohash-kodierten sortierten Set-Score des Elements in Form einer 52-Bit-Ganzzahl zurück. Dies ist nur für Low-Level-Hacks oder zum Debuggen nützlich und ist für den allgemeinen Benutzer sonst von geringem Interesse.
Standardmäßig gibt der Befehl unsortierte Elemente zurück. Zwei verschiedene Sortiermethoden können mit den folgenden beiden Optionen aufgerufen werden:
- ASC: Sortiert die zurückgegebenen Elemente von den nächsten zu den am weitesten entfernten, relativ zum Mittelpunkt.
- DESC: Sortiert die zurückgegebenen Elemente von den am weitesten zu den nächsten, relativ zum Mittelpunkt.
Standardmäßig werden alle übereinstimmenden Elemente zurückgegeben. Es ist möglich, die Ergebnisse auf die ersten N übereinstimmenden Elemente zu beschränken, indem die COUNT-Option verwendet wird. Wenn ANY angegeben ist, gibt der Befehl zurück, sobald genügend Übereinstimmungen gefunden wurden. Die Ergebnisse sind möglicherweise nicht die dem angegebenen Punkt am nächsten liegenden, aber andererseits ist der vom Server investierte Aufwand erheblich geringer. Wenn ANY nicht angegeben ist, führt der Befehl einen Aufwand durch, der proportional zur Anzahl der Elemente ist, die den angegebenen Bereich abdecken, und sortiert sie. Daher kann die Abfrage sehr großer Bereiche mit einer sehr kleinen COUNT-Option langsam sein, auch wenn nur wenige Ergebnisse zurückgegeben werden.
Antwort
Eine der folgenden
- Wenn keine WITH*-Option angegeben ist, eine Array-Antwort der übereinstimmenden Mitgliedsnamen
- Wenn die Optionen WITHCOORD, WITHDIST oder WITHHASH angegeben sind, gibt der Befehl eine Array-Antwort von Arrays zurück, wobei jedes Unterarray ein einzelnes Element darstellt.
- Die Entfernung vom Zentrum als Gleitkommazahl, in derselben Einheit, die für den Radius angegeben wurde.
- Der Geohash-Integer.
- Die Koordinaten als Array mit zwei Elementen x,y (Längengrad, Breitengrad).
GEORADIUSBYMEMBER
Syntax
GEORADIUSBYMEMBER_RO key member radius <M | KM | FT | MI>
[WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC | DESC]
[STORE key | STOREDIST key]
Dieser Befehl ist exakt wie GEORADIUS mit dem einzigen Unterschied, dass anstelle eines Längen- und Breitengradwerts als Zentrum des abzufragenden Bereichs der Name eines bereits im Geodatenindex des sortierten Sets vorhandenen Mitglieds angegeben wird.
Die Position des angegebenen Mitglieds wird als Zentrum der Abfrage verwendet.
GEORADIUSBYMEMBER_RO
Syntax
GEORADIUSBYMEMBER_RO key member radius <M | KM | FT | MI>
[WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC | DESC]
Dieser Befehl ist exakt wie GEORADIUS_RO mit dem einzigen Unterschied, dass anstelle eines Längen- und Breitengradwerts als Zentrum des abzufragenden Bereichs der Name eines bereits im Geodatenindex des sortierten Sets vorhandenen Mitglieds angegeben wird.
Die Position des angegebenen Mitglieds wird als Zentrum der Abfrage verwendet.
GEOSEARCH
Syntax
GEOSEARCH key <FROMMEMBER member | FROMLONLAT longitude latitude>
<BYRADIUS radius <M | KM | FT | MI> | BYBOX width height <M | KM |
FT | MI>> [ASC | DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST]
[WITHHASH]
Gibt die Mitglieder eines sortierten Sets zurück, das mit Geodaten mithilfe von GEOADD gefüllt wurde und sich innerhalb der Grenzen des durch eine gegebene Form definierten Bereichs befindet.
Der Mittelpunkt der Abfrage wird durch eine der folgenden obligatorischen Optionen angegeben
- FROMMEMBER: Verwendet die Position des angegebenen vorhandenen Mitglieds im sortierten Set.
- FROMLONLAT: Verwendet die angegebene Längen- und Breitengradposition.
Die Form der Abfrage wird durch diese Option bereitgestellt
- BYRADIUS: Ähnlich wie GEORADIUS, sucht in einem kreisförmigen Bereich gemäß dem angegebenen Radius.
- BYBOX: Sucht in einem achsenparallelen Rechteck, bestimmt durch Höhe und Breite.
Der Befehl gibt optional zusätzliche Informationen mithilfe der folgenden Optionen zurück:
- WITHDIST: Gibt auch die Entfernung der zurückgegebenen Elemente vom angegebenen Mittelpunkt zurück. Die Entfernung wird in derselben Einheit wie für die Argumente Radius oder Höhe und Breite angegeben.
- WITHCOORD: Gibt auch den Längengrad und Breitengrad der übereinstimmenden Elemente zurück.
- WITHHASH: Gibt auch den rohen geohash-kodierten sortierten Set-Score des Elements in Form einer 52-Bit-Ganzzahl zurück. Dies ist nur für Low-Level-Hacks oder zum Debuggen nützlich und ist für den allgemeinen Benutzer sonst von geringem Interesse.
Passende Elemente werden standardmäßig unsortiert zurückgegeben. Um sie zu sortieren, verwenden Sie eine der folgenden beiden Optionen
- ASC: Sortiert die zurückgegebenen Elemente von den nächsten zu den am weitesten entfernten, relativ zum Mittelpunkt.
- DESC: Sortiert die zurückgegebenen Elemente von den am weitesten zu den nächsten, relativ zum Mittelpunkt.
Standardmäßig werden alle übereinstimmenden Elemente zurückgegeben. Um die Ergebnisse auf die ersten N übereinstimmenden Elemente zu beschränken, verwenden Sie die Option COUNT count. Wenn die Option ANY verwendet wird, gibt der Befehl zurück, sobald genügend Übereinstimmungen gefunden wurden. Das bedeutet, dass die zurückgegebenen Ergebnisse möglicherweise nicht diejenigen sind, die dem angegebenen Punkt am nächsten liegen, aber der vom Server für ihre Generierung aufgewendete Aufwand ist deutlich geringer. Wenn ANY nicht angegeben ist, wird der Befehl einen Aufwand betreiben, der proportional zur Anzahl der mit dem angegebenen Bereich übereinstimmenden Elemente ist und diese sortieren. Daher kann die Abfrage sehr großer Bereiche mit einer sehr kleinen COUNT-Option langsam sein, auch wenn nur wenige Ergebnisse zurückgegeben werden.
Antwort
Eine der folgenden
- Wenn keine WITH*-Option angegeben ist, eine Array-Antwort der übereinstimmenden Mitgliedsnamen
- Wenn die Optionen WITHCOORD, WITHDIST oder WITHHASH angegeben sind, gibt der Befehl eine Array-Antwort von Arrays zurück, wobei jedes Unterarray ein einzelnes Element darstellt.
- Die Entfernung vom Zentrum als Gleitkommazahl, in derselben Einheit, die für den Radius angegeben wurde.
- Der Geohash-Integer.
- Die Koordinaten als Array mit zwei Elementen x,y (Längengrad, Breitengrad).
GEOSEARCHSTORE
Syntax
GEOSEARCHSTORE destination source <FROMMEMBER member |
FROMLONLAT longitude latitude> <BYRADIUS radius <m | km | ft | mi>
| BYBOX width height <m | km | ft | mi>> [ASC | DESC] [COUNT count
[ANY]] [STOREDIST]
Dieser Befehl ist wie GEOSEARCH, speichert das Ergebnis jedoch im Zielschlüssel.
Bei Verwendung der Option STOREDIST speichert der Befehl die Elemente in einem sortierten Set, das mit ihrer Entfernung vom Zentrum des Kreises oder der Box als Gleitkommazahl in derselben Einheit, die für diese Form angegeben wurde, gefüllt ist.
Antwort
Integer-Antwort: die Anzahl der Elemente im resultierenden Set