Redis Bitmaps

Redis Bitmaps
Um bitmap é simplesmente uma variedade de bits. Portanto, é comumente conhecido como uma matriz de bit ou vetor de bit. É uma das estruturas de dados que torna Redis bastante flexível e extenso. Se você precisar armazenar um mapa de informações booleanas em um espaço compacto, o bitmaps será sua escolha padrão.

Vamos discutir como usar bitmaps em redis usando este tutorial.

Redis Bitmaps

Antes de mergulhar nos comandos reais e armazenar bitmaps, poucas coisas para observar.

Um bitmap não é um tipo de dados nativo em redis. Na realidade, eles são um conjunto de operações orientadas para bits construídas no tipo de string.

As operações de bit são categorizadas em dois grupos principais:

  1. Operações de bits de tempo constante.
  2. Operações de bit em grupo.

Um exemplo de uma operação de um único bit está definindo um pouco de 1 a 0 ou recuperando o valor de um pouco.

Uma operação de bit em grupo pode envolver um processo como obter o número de bits dentro de um intervalo específico.

Redis Crie bitmap

Para criar uma chave segurando um bitmap em redis, usamos o comando setbit. O comando leva o nome da chave, o valor do deslocamento e o bit real como argumentos.

A sintaxe é como mostrado:

127.0.0.1: 6379> Bit de deslocamento da chave do setbit

Se a chave especificada não existir, o Redis criará um novo que pode manter um pouco em um deslocamento especificado.

O valor de deslocamento deve ser maior ou igual a 0, mas menor que 2^32. Isso ocorre porque os bitmaps são limitados a 512 MB.

Recapitulação: um pouco representa a unidade mais básica de informação e possui dois valores possíveis. Em termos simples, um pouco é usado para descrever informações lógicas com estado, como sim/não, 1/0, +/-, etc.

Exemplos são mostrados abaixo.

127.0.0.1: 6379 [10]> Setbit Bitkey 2 1
(Inteiro) 0
127.0.0.1: 6379 [10]> Setbit Bitkey 2 0
(Inteiro) 1

Redis Count Número de bits definidos

Para determinar o número de bits definidos em redis, use o comando bitcount. Veja o exemplo.

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
Para obter o número de bits definidos, execute:
127.0.0.1: 6379 [10]> BitCount Bitkey
(Inteiro) 5

Isso deve retornar o número de bits definidos como um número inteiro.

NOTA: Um bit definido se refere a qualquer parte cujo valor é definido como 1.

Redis Bitwise Operations

Podemos executar operações bitwise usando o comando bitop. Por exemplo, para alcançar um pouco e operação, podemos fazer:

127.0.0.1: 6379 [10]> Setbit BitKey2 3 1
(Inteiro) 0

No exemplo acima, criamos um novo bitmap e o chamamos de bitkey2.

Em seguida, podemos executar o bit e operação como mostrado:

127.0.0.1: 6379 [10]> BITOP e BITKEY2
(Inteiro) 1

Para obter as chaves, execute:

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

Redis recuperar o valor do bit

Para armazenar o valor de bits em um deslocamento específico, use o comando getBit seguido pelo deslocamento do destino.

Um exemplo é como mostrado:

127.0.0.1: 6379 [10]> getbit bitkey 3
(Inteiro) 1

Se o bit no deslocamento especificado não estiver definido, o comando retornará 0 como mostrado:

127.0.0.1: 6379 [10]> getbit bitkey 200
(Inteiro) 0

Conclusão

Neste artigo, cobrimos os fundamentos dos bitmaps e como usá -los em redis. Verifique os documentos para saber mais.

Obrigado pela leitura!!