redis的hyperloglog和bloom filter

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来实现

你可能感兴趣的:(通用)