English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O Redis em 2.8.9 versão adicionou a estrutura HyperLogLog.
O Redis HyperLogLog é um algoritmo usado para estatísticas de cardinalidade, a vantagem do HyperLogLog é que, quando a quantidade ou o volume dos elementos de entrada é muito grande, o espaço necessário para calcular a cardinalidade sempre é fixo e muito pequena.
Dentro do Redis, cada chave HyperLogLog requer 12 KB de memória, é possível calcular uma aproximação 2^64 base de diferentes elementos Números. Isso forma um contraste acentuado com conjuntos formados por elementos, onde mais elementos, maior consumo de memória.
Mas, porque o HyperLogLog calculará a cardinalidade com base nos elementos de entrada e não armazenará os elementos de entrada em si, então O HyperLogLog não pode retornar os elementos individuais da entrada como um conjunto.
por exemplo, o conjunto de dados {1, 3, 5, 7, 5, 7, 8}, então o conjunto de cardinalidade deste conjunto de dados é {1, 3, 5 ,7, 8}, Cardinalidade (elementos não repetidos) de5. A estimativa da cardinalidade é calcular rapidamente a cardinalidade dentro do intervalo de erro aceitável.
Os seguintes exemplos demonstram o processo de funcionamento do HyperLogLog:
redis 127.0.0.1:6379> PFADD w3codeboxkey "redis" 1) (inteiro) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mongodb" 1) (inteiro) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mysql" 1) (inteiro) 1 redis 127.0.0.1:6379> PFCOUNT w3codeboxkey (inteiro) 3
A tabela a seguir lista os comandos básicos do HyperLogLog do redis:
Número | Comando e Descrição |
---|---|
1 | PFADD key element [element ...] Adiciona elementos especificados ao HyperLogLog. |
2 | PFCOUNT key [key ...] Retorna a estimativa da cardinalidade do HyperLogLog especificado. |
3 | PFMERGE destkey sourcekey [sourcekey ...] Juntar vários HyperLogLog em um HyperLogLog único |