Latest web development tutorials

Redis Hyperloglog

Dans Redis 2.8.9 version ajoute la structure Hyperloglog.

base de Redis Hyperloglog est utilisé pour faire des algorithmes statistiques Hyperloglog avantage est que le nombre d'éléments dans l'entrée ou le volume est très très grand, l'espace nécessaire pour la base de calcul est toujours fixe, et est très faible.

En Redis l'intérieur de chaque clé Hyperloglog ne prend 12 Ko de mémoire, vous pouvez calculer la base la plus proche 2 ^ 64 éléments différents. Ceci est lorsque la base de calcul, les éléments les plus gourmandes en mémoire d'une collection de contraste plus frappant.

Cependant, parce que Hyperloglog seulement sur la base de la base de calcul de l'élément d'entrée, mais ne stocke pas l'élément d'entrée lui-même, de sorte que la collection Hyperloglog pas comme pour revenir à des éléments d'entrée respectifs.


Quelle est la base?

Par exemple, l'ensemble de données {1, 3, 5, 7, 5, 7, 8}, puis la cardinalité de l'ensemble des jeux de données est {1, 3, 5, 7, 8} (éléments non répétitifs), base 5. erreur d'estimation Cardinality est dans une plage acceptable, la base de calcul rapide.


Exemples

L'exemple suivant illustre le Hyperloglog de processus de travail:

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

commande Redis Hyperloglog

Le tableau suivant répertorie les commandes de base Hyperloglog redis:

Non. Commande et la description
1 élément clé PFADD [élément ...]
Ajoute l'élément spécifié à Hyperloglog dans.
2 clé PFCOUNT [key ...]
Retours donnés estimations de cardinalité Hyperloglog.
3 PFMERGE destkey sourcekey [sourcekey ...]
Multiple Hyperloglog en un seul Hyperloglog