1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Redis布隆过滤器原理

Redis布隆过滤器原理

时间:2022-06-19 22:26:48

相关推荐

Redis布隆过滤器原理

其实布隆过滤器本质上要解决的问题,就是防止很多没有意义的、恶意的请求穿透Redis(因为Redis中没有数据)直接打入到DB。它是Redis中的一个modules,其实可以理解为一个插件,用来拓展实现额外的功能。

可以简单理解布隆过滤器的功能:它就是记录了一份DB数据,然后请求过来,会优先通过布隆过滤器进行判断,当前请求的数据是否存在:

如果存在数据:则意味着数据库确实存在这个数据,则放行到DB中。

如果不存在数据:则意味着这个请求的数据,在数据库也是没有的,则不放行到数据库

布隆过滤器原理

布隆过滤器本身是一个算法,用来判断一个元素是否在一个集合。(因为不可能蠢到真的记录一份完整的DB数据的)

这种算法由一个二进制数组和一个Hash算法组成

误判问题:

因为通过Hash算法进行计算,可能存在不同的元素计算后得到hash值相同,所以hash冲突是误判问题的本质。hash计算后的数据在数据组上,但不一定在数据库hash计算后的数据不在数组上,就一定不在数据库

所以说布隆过滤器,是一个概率型的算法,有一定的误差,但是它可以过滤大部分数据请求,少部分的与因为误差,进入数据库。

解决方式:

增大数组容量,让Hash冲突的概率降低。增加Hash函数,多个hash函数来计算hash值,降低冲突概率

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。