布隆过滤器

x33g5p2x  于2021-09-25 转载在 其他  
字(0.3k)|赞(0)|评价(0)|浏览(308)

一、场景

短时间内发送大量的请求,而这些数据即不再数据库中也不在缓存中,会造成缓存穿透。

缓存穿透攻击是指恶意用户在短时内大量查询不存在的数据,导致大量请求被送达数据库进行查询,当请求数量超过数据库负载上限时,使系统响应出现高延迟甚至瘫痪的攻击行为。

二、预防缓存穿透的方案
布隆过滤器(利用布隆过滤器可以减少缓存穿透的情况)
原理:利用一个很长的二进制数组,通过一系列的hash函数来确定该数据是否存在。

减少误判的方式:
1、增加二进制数组位数
2、增加Hash次数

三、布隆过滤器在项目中的使用流程

四、假如产品的数据被删除
1、布隆过滤器因为某一位二进制可能被多个编号Hash引用,因此布隆过滤器无法直接处理删除数据的情况。
2、解决方案1:定时异步重建布隆过滤器
3、解决方案2:计数Bloom Fliter

相关文章