Analytik
BITTTUMPF
BITCOUNT
Syntax
BITCOUNT key [start end [BYTE | BIT]]
Zählt die Anzahl der gesetzten Bits (Popcount) in einem String.
Resp Reply
Integer-Antwort: die Anzahl der auf 1 gesetzten Bits.
BITFIELD
Syntax
BITFIELD key [GET encoding offset | [OVERFLOW <WRAP | SAT | FAIL>]
<SET encoding offset value | INCRBY encoding offset increment>
[GET encoding offset | [OVERFLOW <WRAP | SAT | FAIL>]
<SET encoding offset value | INCRBY encoding offset increment>
...]]
Der Befehl behandelt einen Garnet-String als Bit-Array und kann auf spezifische Ganzzahlfelder unterschiedlicher Bitbreiten und beliebige, nicht notwendigerweise ausgerichtete Offsets zugreifen. Praktisch können Sie mit diesem Befehl beispielsweise einen vorzeichenbehafteten 5-Bit-Integer bei Bit-Offset 1234 auf einen bestimmten Wert setzen oder einen vorzeichenlosen 31-Bit-Integer von Offset 4567 abrufen.
Ähnlich behandelt der Befehl Inkremente und Dekremente der angegebenen Ganzzahlen und bietet garantierte und gut spezifizierte Über- und Unterlaufverhalten, die der Benutzer konfigurieren kann.
Resp Reply
Integer-Antwort: der Wert des Bits, der am Offset gespeichert ist.
BITFIELD_RO
Syntax
BITFIELD_RO key [GET encoding offset [GET encoding offset ...]]
Schreibgeschützte Variante des Befehls BITFIELD. Sie ist wie das ursprüngliche BITFIELD, akzeptiert jedoch nur den GET-Unterbefehl und kann sicher in schreibgeschützten Replikaten verwendet werden.
RESP-Antwort
Array-Antwort: Jeder Eintrag ist das entsprechende Ergebnis des Unterbefehls, der an derselben Position angegeben wurde.
BITOP AND
Syntax
BITOP AND destkey srckey1 srckey2 srckey3 ... srckeyN
Führt eine bitweise AND-Operation zwischen mehreren Schlüsseln (die String-Werte enthalten) durch und speichert das Ergebnis im Zielschlüssel.
RESP-Antwort
Integer-Antwort: die Größe des im Zielschlüssel gespeicherten Strings, die der Größe des längsten Eingangsstrings entspricht.
BITOP NOT
Syntax
BITOP NOT destkey srckey
Führt eine bitweise NOT-Operation zwischen mehreren Schlüsseln (die String-Werte enthalten) durch und speichert das Ergebnis im Zielschlüssel.
RESP-Antwort
Integer-Antwort: die Größe des im Zielschlüssel gespeicherten Strings, die der Größe des längsten Eingangsstrings entspricht.
BITPOS
Syntax
BITPOS key bit [start [end [BYTE | BIT]]]
Gibt die Position des ersten Bits zurück, das auf 1 oder 0 gesetzt ist, in einem String.
RESP-Antwort
Eine der folgenden
- Integer-Antwort: die Position des ersten Bits, das auf 1 oder 0 gesetzt ist, entsprechend der Anfrage
- Integer-Antwort: -1. Falls das Bit-Argument 1 ist und der String leer ist oder nur aus Null-Bytes besteht
GETBIT
Syntax
GETBIT key offset
Gibt den Bitwert am Offset im String-Wert zurück, der im Schlüssel gespeichert ist.
RESP-Antwort
Der am Offset gespeicherte Bitwert, einer der folgenden:
- Integer-Antwort: 0.
- Integer-Antwort: 1.
SETBIT
Syntax
SETBIT key offset value
Setzt oder löscht das Bit am Offset im String-Wert, der im Schlüssel gespeichert ist. Das Bit wird je nach Wert entweder gesetzt oder gelöscht, wobei dieser entweder 0 oder 1 sein kann. Wenn der Schlüssel nicht existiert, wird ein neuer String-Wert erstellt.
RESP-Antwort
Integer-Antwort: der ursprüngliche Bitwert, der am Offset gespeichert war.
HYPERLOGLOG
PFADD
Syntax
PFADD <key> <element-1> ... <element-n>
Fügt alle Element-Argumente zur HyperLogLog-Datenstruktur hinzu, die unter dem als erstes Argument angegebenen Variablennamen gespeichert ist.
RESP-Antwort
Integer-Antwort: 1, wenn mindestens 1 HyperLogLog-Internregister geändert wurde. Andernfalls 0.
PFCOUNT
Syntax
PFCOUNT key [key ...]
Wenn mit einem einzelnen Schlüssel aufgerufen, gibt die angenäherte Kardinalität zurück, die von der HyperLogLog-Datenstruktur unter der angegebenen Variable berechnet wurde. Dies ist 0, wenn die Variable nicht existiert.
Wenn mit mehreren Schlüsseln aufgerufen, gibt die angenäherte Kardinalität der Vereinigung der übergebenen HyperLogLogs zurück, indem intern die unter den angegebenen Schlüsseln gespeicherten HyperLogLogs zu einem temporären HyperLogLog zusammengeführt werden.
RESP-Antwort
Integer-Antwort: die angenäherte Anzahl eindeutiger Elemente, die über PFADD beobachtet wurden.
PFMERGE
Syntax
PFMERGE <destination-key> <source-key-1> ... <source-key-n>
Führt mehrere HyperLogLog-Werte zu einem einzigen Wert zusammen, der die Kardinalität der Vereinigung der beobachteten Mengen der Quell-HyperLogLog-Strukturen annähert.
Das berechnete zusammengeführte HyperLogLog wird der Zielvariable zugewiesen, die erstellt wird, falls sie nicht existiert (standardmäßig ein leeres HyperLogLog).
RESP-Antwort
Einfache String-Antwort: Der Befehl gibt einfach OK zurück.
PUB/SUB
PSUBSCRIBE
Syntax
PSUBSCRIBE <pattern-1> ... <pattern-n>
Abonniert den Client bei den angegebenen Mustern.
Unterstützte Glob-Style-Muster
h?llo abonniert hello, hallo und hxllo
h*llo abonniert hllo und heeeello
h[ae]llo abonniert hello und hallo, aber nicht hillo
Verwenden Sie \, um Sonderzeichen zu escapen, wenn Sie sie buchstäblich abgleichen möchten.
RESP-Antwort
Bei Erfolg gibt dieser Befehl nichts zurück. Stattdessen wird für jedes Muster eine Nachricht mit der Zeichenkette psubscribe als erstes Element gesendet, um zu bestätigen, dass der Befehl erfolgreich war.
PUBLISH
Syntax
PUBLISH <channel> <message>
Veröffentlicht eine Nachricht an den angegebenen Kanal.
RESP-Antwort
Integer-Antwort: die Anzahl der Clients, die die Nachricht erhalten haben.
PUBSUB CHANNELS
Syntax
PUBSUB CHANNELS [pattern]
Listet die aktuell aktiven Kanäle auf. Ein aktiver Kanal ist ein Pub/Sub-Kanal mit einem oder mehreren Abonnenten (ausschließlich Clients, die Muster abonniert haben).
RESP-Antwort
Array-Antwort: Eine Liste aktiver Kanäle, optional passend zum angegebenen Muster.
PUBSUB NUMPAT
Syntax
PUBSUB NUMPAT
Gibt die Anzahl eindeutiger Muster zurück, die von Clients abonniert wurden (die über den PSUBSCRIBE-Befehl ausgeführt werden).
RESP-Antwort
Integer-Antwort: die Anzahl der Muster, die von allen Clients abonniert wurden.
PUBSUB NUMSUB
Syntax
PUBSUB NUMSUB [channel [channel ...]]
Gibt die Anzahl der Abonnenten (ausschließlich Clients, die Muster abonniert haben) für die angegebenen Kanäle zurück.
RESP-Antwort
Array-Antwort: die Anzahl der Abonnenten pro Kanal, jedes gerade Element (einschließlich des 0. Elements) ist der Kanalname, jedes ungerade Element ist die Anzahl der Abonnenten
PUNSUBSCRIBE
Syntax
PUNSUBSCRIBE <pattern-1> ... <pattern-n>
Meldet den Client von den angegebenen Mustern ab, oder von allen, wenn keine angegeben sind.
Wenn keine Muster angegeben sind, wird der Client von allen zuvor abonnierten Mustern abgemeldet. In diesem Fall wird eine Nachricht für jedes abgemeldete Muster an den Client gesendet.
RESP-Antwort
Bei Erfolg gibt dieser Befehl nichts zurück. Stattdessen wird für jedes Muster eine Nachricht mit der Zeichenkette punsubscribe als erstes Element gesendet, um zu bestätigen, dass der Befehl erfolgreich war.
SUBSCRIBE
Syntax
SUBSCRIBE channel [channel ...]
Abonniert den Client bei den angegebenen Kanälen.
RESP-Antwort
Bei Erfolg gibt dieser Befehl nichts zurück. Stattdessen wird für jeden Kanal eine Nachricht mit der Zeichenkette subscribe als erstes Element gesendet, um zu bestätigen, dass der Befehl erfolgreich war.
UNSUBSCRIBE
Syntax
UNSUBSCRIBE [channel [channel ...]]
Meldet den Client von den angegebenen Kanälen ab, oder von allen, wenn keine angegeben sind.
RESP-Antwort
Bei Erfolg gibt dieser Befehl nichts zurück. Stattdessen wird für jeden Kanal eine Nachricht mit der Zeichenkette unsubscribe als erstes Element gesendet, um zu bestätigen, dass der Befehl erfolgreich war.