布隆过滤器

一、功能
判断某项数据是可能在集合中还是肯定不在集合中

二、布隆过滤器的三个重点

1、布隆过滤器比特数组空间大小 m
2、哈希函数个数 k
3、加入的元素 n

三、误判

1、误判率
在这里插入图片描述

2、根据所需的精度确定比特数组空间大小
在这里插入图片描述
四、具体工作原理

初始时大小为m的比特数组每位均为0,当设置值时分别用k个哈希函数计算哈希值,得到值应该对应的索引,将索引位置置1。当对新值进行判断时,通过k个哈希函数计算哈希值,如果对应的索引位置上均为0,那该值肯定不在集合中,如果不全为0,那么可能在集合中。

五、应用
1、从数十亿垃圾邮件列表中判断某邮箱是否为垃圾邮件
2、Chrome浏览器使用布隆过滤器识别恶意URL
3、Google BigTable、Apache HBase、Apache Cassandra利用布隆过滤器减少对不存在的行和列的查找
等等

Redis 因其支持 setbit 和 getbit 操作,并且性能高,因此很适合做布隆过滤器。使用时注意避免大对象阻塞。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值