布隆过滤器
作者:bin布隆过滤器的作用是判断一个值肯定不存在、或者可能存在。
通常用于黑名单,并且数据量特别大时,因为数据量小的话直接hash就好了。
实现的方式就是位图法,对一个数据进行多次求hash,并且将bit数组中的指定值,改为1。
判断逻辑:
如果数据每个hash值都为1,那么就可能存在。
如果有任意一个不为1,那么说明,肯定不存在。
布隆过滤器的应用场景
用于黑名单,如果一个值不在这里面,说明不是黑名单用户,如果在这里面,说明可能是黑名单,那么再去redis里面查是不是黑名单,或者再去db查是不是黑名单。
这样三层下来,落到db的量就是少之又少了。