Memcached缓存雪崩现象

 一般是由于某个memcached节点失效,导致缓存命中率下降,缓存中缺失的数据就需要去数据库中查询,短时间内,频繁的访问数据库导致数据库服务器承受不住那么大的请求压力而崩溃(换句话说,就是缓存失效导致短时间内访问数据库,数据库承受不住如此大的压力而被一下压垮)。重启后,因为缓存为空,数据库服务器再次被压垮,但是会向缓存中写入一些数据;数据库服务器反复多次重启,直到缓存重建完毕,数据库服务器才能成功启动并稳定运行。或者缓冲周期性的失效,比如每6个小时失效一次,那么每6个小时会有一个“峰值”,严重的会造成数据库崩溃。

解决方案

1:把缓存设置为随机3到9小时的生命周期,这样不同失效,把工作分配到各个点上去。
2:把缓存时间调长,到凌晨4-5点[人数最少的时候]去更新缓存。

原文地址:https://www.cnblogs.com/yhq-qhh/p/10053592.html