HyperLogLog
简介
Redis HyperLogLog是用来做基数统计的算法,HyperLogLog的优点是,在输
入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小
的。
在Redis里面,每个HyperLogLog键只需要花费12KB内存,就可以计算接
近2^64个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成
鲜明对比。
但是,因为HyperLogLog只会根据输入元素来计算基数,而不会储存输入元素
本身,所以HyperLogLog不能像集合那样,返回输入的各个元素。
什么是基数?
比如数据集{1,3,5,7,5,7,8},
那么这个数据集的基数集为{1,3,5,7,8},
基数(不重复元素)为5。基数估计就是在误差可接受的范围内,快速计算基数。+
命令
1、pfadd
(1)格式
pfadd
HyperogLog中:
127.0.0.1:6379>pfadd key element [element…]

2、pfcount.
(1)格式
pfcount
天的UV,计算一周的UV可以使用7天的UV合并计算即可:
127.0.0.1:6379>pfcount key[key…]
3、pfmerge.
(1)格式
pfmerge
储在另一个HLL中,比如每月活跃用户可以使用每天的活跃用户来合并计算可得
127.0.0.1:6379>pfmerge destkey sourcekey sourcekey
