一、缓存雪崩

缓存雪崩是指缓存在一定时间内同时失效,导致大量请求同时落到数据库上,从而使数据库压力过大,数据库无法承受,最终导致服务器宕机的现象。

二、解决方案

1、设置合理的缓存时间,避免缓存集中失效,以免引发雪崩现象;

2、缓存更新时采用分布式锁机制,锁定缓存key,避免缓存击穿;

3、采用异步更新缓存的方式,缓存更新可以异步处理,减少请求响应时间;

4、采用缓存预热的机制,可以有效的降低缓存雪崩的可能性。

三、缓存击穿

缓存击穿是指在高并发的场景下,由于缓存的key失效,大量的请求同时落到数据库上,从而使数据库压力过大,数据库无法承受,最终导致服务器宕机的现象。

四、解决方案

1、采用分布式锁机制,锁定缓存key,避免缓存击穿;

2、采用缓存预热的机制,可以有效的降低缓存击穿的可能性;

3、采用异步更新缓存的方式,缓存更新可以异步处理,减少请求响应时间;

4、采用缓存降级的机制,当缓存击穿时,可以让服务器不直接挂掉,而是降级为从数据库中获取数据。