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 |