redis中hyperloglog误差率
更新日期:
文章目录
最近发现项目中用的hyperloglog进行去重时,随着hyperloglog存储的数据越来越多,误差率会越来越大。
hyperloglog是根据bloom filter算法设计出来的存储结构,bloom
filter介绍如下: http://blog.csdn.net/jiaomeng/article/details/1495500使用java实现的bloom filter:
java bloom filterbloom
filter允许一定的误差率(在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合)
上面数据对比说明1973535这条数据在hyperloglog中是存在的,但是在同步操作的历史数据表中却没有,也就是说,本来不存在于hyperloglog中的1973535数据被判断为存在于hyperloglog了。
感觉redis中hyperloglog误差率还是挺大的。。。。