English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis en 2.8.9 La versión agregó la estructura HyperLogLog.
Redis HyperLogLog es un algoritmo utilizado para la estadística de基数, una de las ventajas de HyperLogLog es que, cuando la cantidad o el volumen de elementos de entrada es muy grande, el espacio requerido para calcular el基数 siempre es fijo pequeño y muy pequeño.
En Redis, cada clave HyperLogLog solo requiere 12 KB de memoria, se puede calcular una cantidad cercana 2^64 la base de un conjunto de diferentes elementos El número. Esto contrasta marcadamente con los conjuntos que, a medida que aumenta el número de elementos, requieren más memoria para calcular el基数。
Pero, ya que HyperLogLog solo calculará la cardinalidad basándose en los elementos de entrada y no almacenará los elementos de entrada en sí mismos, así que}} HyperLogLog no puede devolver los elementos individuales de entrada como lo hace el conjunto.
Por ejemplo, el conjunto de datos {1, 3, 5, 7, 5, 7, 8}, Entonces, el conjunto de cardinalidad de este conjunto de datos es {1, 3, 5 ,7, 8}, Cardinalidad (elementos no repetidos) de5. La estimación de la cardinalidad es calcular rápidamente la cardinalidad dentro del rango de error aceptable.
Los siguientes ejemplos ilustran el proceso de funcionamiento de HyperLogLog:
redis 127.0.0.1:6379> PFADD w3codeboxkey "redis" 1) (entero) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mongodb" 1) (entero) 1 redis 127.0.0.1:6379> PFADD w3codeboxkey "mysql" 1) (entero) 1 redis 127.0.0.1:6379> PFCOUNT w3codeboxkey (entero) 3
La siguiente tabla enumera los comandos básicos de HyperLogLog de redis:
Número | Comando y descripción |
---|---|
1 | PFADD key element [element ...] Añade elementos especificados al HyperLogLog. |
2 | PFCOUNT key [key ...] Devuelve la estimación de la cardinalidad del HyperLogLog dado. |
3 | PFMERGE destkey sourcekey [sourcekey ...] Combinar múltiples HyperLogLog en un solo HyperLogLog |