栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redis应用问题--缓存雪崩

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis应用问题--缓存雪崩

缓存雪崩:Redis中缓存的数据大面积同时失效,或者Redis宕机,从而会导致大量请求直接到数据库,压垮数据库。
缓存雪崩和缓存击穿的区别在于这里是针对很多key的缓存。
对于一个业务系统,如果Redis宕机或大面积的key同时过期,会导致大量请求同时打到数据库,这是灾难性的问题。

解决方案
//解决方案一
构建多级缓存框架:nginx缓存+redis缓存+其他缓存(ehcache等)
//解决方案二
用加锁或者队列的方式保证不会有大量的线程对数据库一次性进行读写,从而避免失效时大量并发请求到达底层数据库中,不适合高并发情况。
//解决方案三
设置过期标志更新缓存,记录缓存数据是否过期,设置提前量,如果过期会触发通知另外的线程在后台去更新实际key的缓存。
//解决方案四
将缓存的失效时间分散开,将多个key的过期时间设置不同,他们的失效时间不一致。
//解决方案五
数据预热,对于即将来临的大量请求,我们可以提前走一遍系统,将数据提前缓存在Redis中,并设置不同的过期时间。
//解决方案六
保证Redis服务高可用,Redis的哨兵模式和集群模式,为防止Redis集群单节点故障,可以通过这两种模式实现高可用。   

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952833.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号