redis——缓存穿透、缓存击穿、缓存雪崩

一、概念

简单的redis实现缓存逻辑的泳道图

缓存穿透:查询缓存不存在,查询数据库不存在

缓存击穿:缓存过期导致查询缓存不存在,查询数据库存在

缓存雪崩:缓存数据大量过期导致的查询缓存不存在,查询数据库存在

三种缓存问题其实有一个共同点:查询数据时缓存中不存在。

二、缓存穿透

在高并发下,查询一个不存在的数据,可能是恶意攻击例如查询数据库索引id = -1;导致查询缓存时一定不存在,大量的请求直接落到数据库上。

三、缓存击穿

在高并发下,查询热点数据,但缓存数据刚过期,导致大量的请求直接落到数据库上。

四、缓存雪崩

在高并发下,缓存中数据大量过期,导致大量的请求直接落到数据库上。

猜你喜欢

转载自www.cnblogs.com/wqff-biubiu/p/12292416.html