前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >缓存穿透、缓存雪崩、缓存热点

缓存穿透、缓存雪崩、缓存热点

作者头像
IT云清
发布2019-01-22 10:38:54
1.3K0
发布2019-01-22 10:38:54
举报
文章被收录于专栏:IT云清

摘要:本文主要讲解在使用缓存的过程中,经常出现的三个问题:缓存穿透、缓存雪崩、缓存热点。

1.概念

缓存穿透:

大多数缓存系统,都是以key-value的格式去存储数据的,当有个请求去查询某个key,但是这个key对应的value不存在,则这个请求就会到后端DB中查询;如果有人恶意去查询缓存中不存在的key,那大量的请求就会涌向DB端,如果DB端不具备高并发的能力,那DB端可能就挂掉了;此时,用缓存来减轻DB端压力的这层屏障就失效了,这就是缓存穿透。

缓存雪崩:

访问量很大的系统,一般都会用缓存服务,很多请求到达在缓存层拿到值后就返回了,这样有效的减轻了DB端的压力;但是如果,缓存服务挂掉了,那所有的请求都会直接打到DB层,数据库的压力瞬间就起来了,这样DB很可能也挂掉了,这就是缓存雪崩。

缓存热点:

一般使用缓存时,策略如下:请求一个数据,如果缓存有,直接返回,如果缓存没有,就会去查询数据库,然后返回,同时,将此key和value缓存起来,设置一个过期时间;这样做有两个好处,不仅可以加快系统对外的响应速度,又可以保证数据的定期更新。但是此时会有如下的一个风险:

当一个key是一个热点key,它的并发量非常大,而且这个key对应的value是需要一定的时间才能计算完成,然后才存入缓存的。那么这就会出现一个严重的问题:当这个缓存失效的瞬间,会有大量的请求涌向DB端,然后都在创建自己的缓存,这样就会造成后端的压力过大,甚至挂掉。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年02月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档