什么是布隆过滤器 位图

什么是位图?

  • 位图使用一个比特位来存储当前数组是否存在的一个状态值

  • 位图使用一个bit数组,把一个数据使用hash之后落在bit其中的一个位置,通过1对该位置进行标记,适合数据不是特别多的情况

什么是布隆过滤器?

布隆过滤器在位图的基础上进行了优化,当一个元素被加入到集合的时候,通过k个散列函数,把这个元素映射到一个位数组中的k个点。

把这些位置设置为1,在数据检索或比较的时候可以使用同样的方式去映射,去观察每一个位置的值是不是1,如果是那么很有可能存在,如果有任何一个位置为0,那么一定不存在。

布隆过滤器的特点

  • 它实际上是一个很长的二进制数组(初始值为0的bit数组)+一系列随机hash算法映射函数,主要用于判断一个元素是否在集合中

  • 特点:布隆过滤器占用内存少,但有一定不正确性:不存在的一定不存在,存在的不一定存在。

布隆过滤器通常用于解决Redis缓存穿透,使用luar脚本集成到redis中,而不是在service中判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值