Latest web development tutorials

Redis HyperLogLog

Em Redis 2.8.9 versão adiciona estrutura HyperLogLog.

Redis HyperLogLog de base é usado para fazer algoritmos estatísticos HyperLogLog vantagem é que o número de elementos na entrada ou o volume é muito grande, o espaço necessário para a base de cálculo é sempre fixa, e é muito pequena.

Em Redis dentro de cada HyperLogLog chave leva apenas 12 KB de memória, você pode calcular a base mais próximo 2 ^ 64 elementos diferentes. Isto é, quando a base de cálculo, os elementos mais intensivo de memória de uma coleção de o contraste mais gritante.

No entanto, porque HyperLogLog só com base na base de cálculo do elemento de entrada, mas não armazena o elemento de entrada em si, de modo que a coleção HyperLogLog não gostaria de voltar aos respectivos elementos de entrada.


Qual é a base?

Por exemplo, o conjunto de dados {1, 3, 5, 7, 5, 7, 8}, em seguida, a cardinalidade do conjunto de conjunto de dados é {1, 3, 5, 7, 8} (elementos não repetidos), base 5. erro de estimativa cardinalidade está dentro de uma faixa aceitável, base de cálculo rápido.


Exemplos

O exemplo a seguir demonstra a HyperLogLog processo de trabalho:

redis 127.0.0.1:6379> PFADD w3bigkey "redis"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mongodb"

1) (integer) 1

redis 127.0.0.1:6379> PFADD w3bigkey "mysql"

1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3bigkey

(integer) 3

comando Redis HyperLogLog

A tabela a seguir lista os comandos básicos Redis HyperLogLog:

Não. Command and description
1 PFADD elemento-chave [elemento ...]
Adiciona o elemento especificado para HyperLogLog in.
2 chave PFCOUNT [key ...]
Devoluções dada estimativas de cardinalidade HyperLogLog.
3 PFMERGE destkey sourcekey [sourcekey ...]
HyperLogLog múltipla em um HyperLogLog