Zum Hauptinhalt springen

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.