原理

误判情况

元素在布隆过滤器中存在:元素不一定存在(哈希碰撞和容量限制)

元素在布隆过滤器中不存在:元素一定不存在

布隆过滤器的大小和函数的个数和布隆过滤器的误判率成反比

大小评估公式

计算hash函数数量

image.png

当m/n=10的时候我们需要的k元素数量为7,也就是7个哈希函数才能实现一个比较低的误报率。

计算需要字节数

image.png

如何解决布隆过滤器不能删除的问题?

先看业务能不能容忍元素不能删除,如果实在不能容忍,可以考虑使用布谷鸟过滤器,或者计数布隆过滤器。