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