Redis Bitmaps

Redis Bitmaps
Eine Bitmap ist einfach eine Reihe von Teilen. Daher ist es allgemein als Bit -Array oder Bitvektor bekannt. Es ist eine der Datenstrukturen, die Redis ziemlich flexibel und umfangreich macht. Wenn Sie eine Karte mit booleschen Informationen in einem kompakten Bereich speichern müssen, sind Bitmaps Ihre Standardauswahl.

Lassen Sie uns diskutieren, wie Bitmaps in Redis mit diesem Tutorial verwendet werden.

Redis Bitmaps

Bevor Sie in die tatsächlichen Befehle eintauchen und Bitmaps speichern, müssen nur wenige Dinge zu beachten.

Eine Bitmap ist kein nationaler Datentyp in Redis. Tatsächlich sind sie eine Reihe von bitorientierten Operationen, die am String-Typ basieren.

Bit -Operationen werden in zwei Hauptgruppen eingeteilt:

  1. Single-Bit-Operationen konstanter Zeit.
  2. Gruppenbitoperationen.

Ein Beispiel für eine Einzelbit-Operation besteht darin.

Ein Gruppenbitbetrieb kann einen Prozess beinhalten, z. B. die Anzahl der Bits innerhalb eines bestimmten Bereichs.

Redis erstellen Bitmap

Um einen Schlüssel zu erstellen, der eine Bitmap in Redis hält, verwenden wir den Befehl setbit. Der Befehl nimmt den Namen des Schlüssels, des Offsetwerts und des tatsächlichen Bits als Argumente an.

Die Syntax ist wie gezeigt:

127.0.0.1: 6379> SetBit -Schlüsselversatz Bit

Wenn der angegebene Schlüssel nicht vorhanden ist, erstellt Redis eine neue.

Der Offset -Wert muss größer oder gleich 0 sein, aber weniger als 2^32. Dies liegt daran, dass Bitmaps auf 512 MB begrenzt sind.

Zusammenfassung: Ein Bit repräsentiert die grundlegendste Informationseinheit und enthält zwei mögliche Werte. In einfachen Worten wird ein bisschen verwendet, um logische Zustandsinformationen wie Ja/Nein, 1/0, +/- usw. zu beschreiben.

Beispiele sind unten gezeigt.

127.0.0.1: 6379 [10]> setbit Bitkey 2 1
(Ganzzahl) 0
127.0.0.1: 6379 [10]> setbit Bitkey 2 0
(Ganzzahl) 1

Redis zählen Anzahl der festgelegten Bits

Verwenden Sie den Befehl bitcount, um die Anzahl der festgelegten Bits in Redis zu bestimmen. Nehmen Sie das Beispiel.

127.0.0.1: 6379 [10]> setbit Bitkey 3 1
127.0.0.1: 6379 [10]> setbit Bitkey 4 1
127.0.0.1: 6379 [10]> setbit bitkey 5 1
127.0.0.1: 6379 [10]> setbit Bitkey 6 1
127.0.0.1: 6379 [10]> setbit Bitkey 7 1
Um die Anzahl der festgelegten Bits zu erhalten, rennen Sie:
127.0.0.1: 6379 [10]> Bitcount Bitkey
(Ganzzahl) 5

Dies sollte die Anzahl der festgelegten Bits als Ganzzahl zurückgeben.

Hinweis: Ein festgelegter Bit bezieht sich auf jeden Bit, dessen Wert auf 1 gesetzt ist.

Redis bitweise Operationen

Wir können bitweise Vorgänge mit dem BitOP -Befehl ausführen. Um beispielsweise eine bitweise und operation zu erreichen, können wir dies tun:

127.0.0.1: 6379 [10]> setbit Bitkey2 3 1
(Ganzzahl) 0

Im obigen Beispiel erstellen wir eine neue Bitmap und nennen es BitKey2.

Wir können dann die Bitweise und den Betrieb wie gezeigt ausführen:

127.0.0.1: 6379 [10]> Bitop und Bitkey Bitkey2
(Ganzzahl) 1

Um die Schlüssel zu bekommen, rennen Sie:

127.0.0.1: 6379 [10]> Get bitKey2
"\ x10"

Redis Relieve Bit -Wert

Verwenden Sie den Befehl getbit, gefolgt vom Zielversatz, um den Bit -Wert bei einem bestimmten Offset zu erhalten.

Ein Beispiel ist wie gezeigt:

127.0.0.1: 6379 [10]> Getbit Bitkey 3
(Ganzzahl) 1

Wenn das Bit am angegebenen Offset nicht festgelegt ist, gibt der Befehl 0 wie gezeigt zurück:

127.0.0.1: 6379 [10]> Getbit Bitkey 200
(Ganzzahl) 0

Abschluss

In diesem Artikel haben wir die Grundlagen von Bitmaps behandelt und wie man sie in Redis verwendet. Überprüfen Sie die Dokumente, um mehr zu erfahren.

Danke fürs Lesen!!