怎么防止缓存击穿:
在实际应用中,我们会在程序和数据库之间增加一个缓存层,一方面是为了提升数据的检索效率,提升程序的性能,另一方面是为了缓解数据库的一个并发压力,缓存击穿是因为客户端恶意发送一些大量不存在的key的请求,由于访问的key,对应的数据本身不存在,所以每一次必然都会穿透到数据库里面,导致缓存成为摆设。
对于此类场景,
第一种,可以在接口层增加校验,对确定没有的key,进行拦截;
第二种,可以将这些不存在的key,保存在缓存中,设置比较短的缓存时间;
第三种:也可以使用布隆过滤器,应用启动的时候把存在的数据缓存存到布隆过滤器里面,每一次请求过来的时候,先访问布隆过滤器,如果不存在则说明这个数据一定没有在数据库,就没必要再访问数据库;
标签:缓存,数据库,击穿,布隆,雪崩,key,过滤器 From: https://www.cnblogs.com/w852894903/p/17518967.html