Redis HyperLogLog 是用来做基数统计的算法
什么是基数?
比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
有什么用?
比如统计UV,快速统计出千万级别的UV
PFADD uv 1001
PFADD uv 1002
PFADD uv 1003
PFCOUNT nv => 3
PFADD uv 1003
PFCOUNT uv. => 3
如何判断一个元素在亿级数据中是否存在?
利用bloom filter算法,可结合redis的bitmap来实现