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

缓存穿透

对不存在的key进行高并发访问,导致数据库压力瞬间增大,这就叫做缓存穿透。

解决方案:对不存在的key也做一个缓存,内容为空,生存时间几秒即可

缓存雪崩

当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候进行高并发访问,也会给后端系统(比如DB)带来很大压力。

解决方案:对不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀,避免集体失效。

缓存击穿

缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。

解决方案:添加锁或者采用队列,对不存在的key做缓存

posted @ 2018-11-25 11:07  张啊咩  阅读(157)  评论(0编辑  收藏  举报