布隆过滤器的理解

布隆过滤器

理论

布隆过滤器就是把一个值进行hash运算,存放在bit数组里,每个值都为0,1,然后在后面再判断是否有这个值的时候,也进行相同的hash运算,在各个数组里判断是否都是1,再进行判断是否存在。

优点

存放需要的内存空间很小,可以帮助数据查询的时候过滤掉许多不需要的查询,减少数据库击穿的概率。在保密性上有优势,不容易泄露隐私数据。

缺点

不支持删除数据,会有一定的误判处理,每次查询之后如果需要知道准确的值,需向数据库缓冲区(或数据库)调取数据。如果需要重要数据删除,需要重构过滤器。

编码建议

在进行hash函数赋值时推荐使用质数,能够很好的降低错误率。

记得设定布隆过滤器的比特长度,2的24次方

如有需要Google有已经编写好guava 的布隆过滤器。

随着k,m数组位数的增加,假阳性的概率也会降低。如何确定k的值?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值