缓存雪崩现象

原创 2015年07月08日 23:09:11
缓存雪崩现象以及真实案例:
一般是有某个节点失效,导致其他节点的缓存命中率下降,缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃
重启DB,短时间又被压垮,但缓存数据也多了一些,DB反复多次启动,缓存重建完毕,DB才稳定运行


案例:
一个上千万PV的门户网站,缓存生命周期设置了6小时,当等到6小时缓存失效后,之前放到缓存的数据,都转到DB中查询,这时候,DB的压力急剧上升,最后导致DB崩溃


解决方法:
1.将缓存时间设置的更长,等到半夜网站访问量少的时候,进行全部缓存的更新
2.将缓存时间设置在随机3-9小时的范围内,这样,缓存就不会同时失效,可以减少同一时间缓存失效量,减少对DB的压力

相关文章推荐

memcache与redis lru 一致性hash 缓存雪崩 缓存无底洞 永久数据被踢现象

memcache的细节讨论: 1、生命周期的问题: 生命周期设置方式有两种: 第一种是:秒数,但是有限制,不能超过 2592000秒(30天)。 第二种是:时间戳,比如我们要设置超过1个月,则...

三.缓存雪崩现象和无底洞现象

一.缓存雪崩现象一般是有某个节点失效,导致其他节点的缓存命中率下降,缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃 重启DB,短时间又被压垮,但缓存数据也多了一些,DB反复多次启动,缓...

解决服务器缓存失效后可能导致的雪崩问题(thinkphp为例)

1、什么是雪崩问题?         为了加快网站访问速度,也为了减少服务器资源消耗和压力,将页面在一段时间内静态化、设置缓存是我们常用的手段,这样在缓存失效前,就不用再去访问数据库。但是当缓...

缓存雪崩问题

一、什么是缓存雪崩       从下图可以很清晰出什么是缓存雪崩:       1. 由于Cache层承载着大量请求,有效的保护了Storage层(通常认为此层抗压能力稍弱),所以Storage的...

【学习笔记】thinkphp 生成静态缓存的雪崩问题

雪崩——————–就是指在做页面缓存是,如果网站的并发量在100【每秒有100个刷新】,在缓存页面失效的一瞬间,100个并发同时进入到后端数据库有可能让数据库崩溃。 当我在学习如果制作商城的时候,做到...

缓存穿透与雪崩

缓存穿透 什么是缓存穿透? 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发...

【Redis深入】缓存雪崩与热点key的重建

缓存穿透1.定义 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中, 缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。 2.造成缓存穿透的原因 业务自...

缓存雪崩与穿透解决方案

缓存雪崩与穿透解决方案
  • l0m0a0
  • l0m0a0
  • 2017年04月09日 15:31
  • 84

Memcache线上常见问题(缓存雪崩、缓存无底洞、永久数据被踢)

缓存雪崩现象一般是由于某个节点失效,导致其它节点的缓存命中率下降,缓存中缺失的数据直接去数据库查询,短时间内造成数据库服务器崩溃。或者是由于缓存周期性失效,比如设置每隔6个小时失效一次,那么每6个小时...

redis-缓存穿透与缓存雪崩

缓存穿透 缓存系统,按照KEY去查询VALUE,当KEY对应的VALUE一定不存在的时候并对KEY并发请求量很大的时候,就会对后端造成很大的压力。 如何避免 1.对查询机构为空的情况也进...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:缓存雪崩现象
举报原因:
原因补充:

(最多只允许输入30个字)