什么是缓存穿透?
有特殊请求在查询一个不存在的数据,即:数据不存在于缓存也不存在于数据库
导致每次请求都会穿透到数据库,缓存成了摆设,对数据库产生很大压力从而影响正常服务
什么方案防止缓存穿透?
-
缓存空值
当请求的数据不存在缓存也不存在于数据库的时候,设置一个缺省值,当后续再次进行查询则直接返回空值或者缺省值
-
布隆过滤器
在数据写入数据库的同时将这个ID同步到布隆过滤器中,当请求的Id不存在布隆过滤器中则说明该请求查询的数据一定没有在数据库中保存,就不要去数据库中查询了
标签:缓存,请求,数据库,布隆,查询,穿透 From: https://www.cnblogs.com/Griffin/p/17147139.html