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

最后都变了- 提交于 2019-11-27 12:14:41

缓存穿透

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

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

缓存雪崩

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

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

缓存击穿

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!