Redis-HyperLogLog是用来做基数统计的算法,其最大的优点就是:在输入元素的数量或者体积非常非常大的时候,计算基数需要的空间总是固定的,并且很小。在redis中,每一个HyperLogLog只需要12KB内存,就可以计算接近2^64个不同元素的基数,这与元素越多耗费内存越大的集合形成了一个鲜明的对比。但是HyperLogLog只会根据输入元素来计算基数,不会存储输入元素本身,所以HyperLogLog不能和集合一样,返回输入的各个元素。
什么是基数?基数就是一个数据集中元素个数(重复元素只算一个)。
常用命令如下:
1.添加命令 成功添加返回1 否则返回0
pfadd key element...
2.统计基数数量
pfcount key
3.将一个或多个HyperLogLog合并到新HyperLogLog中
pfmerge destkey key1 key2...