什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?
什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?23/100 发布文章 Mr_YanMingXin 未选择任何文件 new
1 缓存的作用和一般使用流程
作用:
减少服务器压力,增加请求承载量,快速响应请求等等。
一般流程:
2 缓存穿透
概念:指缓存和数据库中都没有用户想要查询到的数据,并且不断进行请求,造成数据库承载部分压力。
解决方法:
接口校验:防止非法请求
将缓存中 key-value 的 value 设置为 null
3 缓存击穿
概念:指同一时间内大量缓存同时失效,导致请求全部转向数据库。
解决方法:
设置热点数据永不过期
加锁,设置数据库为延时访问
4 缓存雪崩
概念:指同一时间内大量不同请求的缓存同时失效,导致请求全部转向数据库,引起数据库宕机。
解决方法:
缓存数据的过期时间设置随机
将热点数据均匀分布在不同缓存数据库中
设置热点数据永远不过期 1 缓存的作用和一般使用流程作用:
减少服务器压力,增加请求承载量,快速响应请求等等。
一般流程:在这里插入图片描述
2 缓存穿透概念:指缓存和数据库中都没有用户想要查询到的数据,并且不断进行请求,造成数据库承载部分压力。
在这里插入图片描述解决方法:
接口校验:防止非法请求将缓存中 key-value 的 value 设置为 null3 缓存击穿概念:指同一时间内大量缓存同时失效,导致请求全部转向数据库。在这里插入图片描述解决方法:
设置热点数据永不过期加锁,设置数据库为延时访问 4 缓存雪崩概念:指同一时间内大量不同请求的缓存同时失效,导致请求全部转向数据库,引起数据库宕机。
在这里插入图片描述解决方法:
缓存数据的过期时间设置随机
将热点数据均匀分布在不同缓存数据库中
设置热点数据永远不过期
Markdown 1168 字数 39 行数 当前行 1, 当前列 0HTML 297 字数 20 段落
版权声明: 本文为 InfoQ 作者【Barry Yan】的原创文章。
原文链接:【http://xie.infoq.cn/article/94d76d0e31d41902f44b36d58】。文章转载请联系作者。
评论