Redis之缓存雪崩、击穿、穿透
1、Redis缓存雪崩
1.1、简介
Redis缓存雪崩是指在同一时刻导致大量的缓存过期,从而使得很多的客户直接访问到了数据库,导致数据库压力过大,甚至出现崩溃。
1.2、处理方式
1、在缓存数据的时候,对key随机设置不定期的过期时间,使得key不会出现大面积的过期现象。
2、对key的访问量设置限量处理,
2、Redis缓存击穿
2.1、简介
Redis缓存击穿是指在某个时刻key过期,没有缓存的key,而同时出现了大批量的访问key数据,导致所有的请求都直接去数据库获取同一个数据。
2.2、处理方式
1、对该数据的访问加锁,其他的等待,等第一个访问完,加入缓存了,再让其他的请求访问缓存。
2、对热点访问的数据key设置永久不过期。
3、Redis缓存穿透
3.1、简介
Redis缓存穿透是指在查询的数据为空,不存在对应的key,多数为恶意请求,且请求量很大,这样增加数据库的压力,严重导致数据库崩溃。
3.2、处理方式
1、对所有不存在的key也进行数据的缓存,缓存的过期时间短点,在新增了对应的数据后重新进行缓存;
2、使用布隆过滤器。