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.
Following example explains how Redis HyperLogLog works.
redis 127.0.0.1:6379> PFADD tutorials "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD tutorials "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD tutorials "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT tutorials (integer) 3
Following table lists some basic commands related to Redis HyperLogLog.
|Sr.No||Command & Description|
|1||PFADD key element [element ...]
Adds the specified elements to the specified HyperLogLog.
|2||PFCOUNT key [key ...]
Returns the approximated cardinality of the set(s) observed by the HyperLogLog at key(s).
|3||PFMERGE destkey sourcekey [sourcekey ...]
Merges N different HyperLogLogs into a single one.