Redis – HyperLogLog

  • Post author:
  • Post category:Redis
  • Post comments:0 Comments

Redis HyperLogLog is an algorithm that uses randomization in order to provide an approximation of the number of unique elements in a set using just a constant, and small amount of memory.

HyperLogLog provides a very good approximation of the cardinality of a set even using a very small amount of memory around 12 kbytes per key with a standard error of 0.81%. There is no limit to the number of items you can count, unless you approach 264 items.

Example

Following example explains how Redis HyperLogLog works.

redis 127.0.0.1:6379> PFADD adglob "redis"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD Adglob "mongodb"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD Adglob "mysql"  
1) (integer) 1  
redis 127.0.0.1:6379> PFCOUNT Adglob  
(integer) 3 

Redis HyperLogLog Commands

Following table lists some basic commands related to Redis HyperLogLog.

Sr.NoCommand & Description
1PFADD key https://adglob.in/blog/redis-hyperloglog-pfadd-command/
Adds the specified elements to the specified HyperLogLog.
2PFCOUNT key https://adglob.in/blog/redis-hyperloglog-pfcount-command/
Returns the approximated cardinality of the set(s) observed by the HyperLogLog at key(s).
3PFMERGE https://adglob.in/blog/redis-hyperloglog-pfmerge-command/
Merges N different HyperLogLogs into a single one.

Leave a Reply