首页 > java > 布隆过滤器

布隆过滤器

作者:bin

布隆过滤器的作用是判断一个值肯定不存在、或者可能存在。

通常用于黑名单,并且数据量特别大时,因为数据量小的话直接hash就好了。

实现的方式就是位图法,对一个数据进行多次求hash,并且将bit数组中的指定值,改为1。

判断逻辑:

如果数据每个hash值都为1,那么就可能存在。

如果有任意一个不为1,那么说明,肯定不存在。

 

布隆过滤器的应用场景

用于黑名单,如果一个值不在这里面,说明不是黑名单用户,如果在这里面,说明可能是黑名单,那么再去redis里面查是不是黑名单,或者再去db查是不是黑名单。

这样三层下来,落到db的量就是少之又少了。

您必须 [ 登录 ] 才能发表留言!