缓存雪崩,缓存穿透,缓存预热,缓存热备都是什么鬼?
2018-01-13 10:08
465 查看
缓存雪崩,缓存穿透,缓存预热,缓存热备是在做缓存设计或者缓存应用时经常遇到的概念,也是缓存应用过程中必须熟知及知道 的东西。
解决方案:解决缓存雪崩故障,就得解决单点问题,提高缓存高可用性,建立分布式的高可用缓存系统,一台缓存服务器挂了,另外的一台起来继续工作,更不能影响其他的缓存系统。
解决方案:解决缓存穿透,如果做了缓存就要把null值或者空列表等也要缓存起来。如果是恶意攻击一个不存在的key,在控制层做频率限制是必须的。
面经:史上最全Java多线程面试题及答案
面经:史上最全阿里高级Java面试题
面经:史上最全Spring面试题
教程:最全Spring Boot全套视频教程
书籍:进阶Java架构师必看的15本书
工具:推荐一款在线创作流程图、思维导图软件
分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。
缓存雪崩
当缓存处于单点情况下,一旦缓存服务器崩溃,所有的请求就会落到数据库层,此时,如果由于访问量过大则会导致数据库宕机,进而导致整个网站或服务不可用,这种缓存故障就是俗称的缓存雪崩。解决方案:解决缓存雪崩故障,就得解决单点问题,提高缓存高可用性,建立分布式的高可用缓存系统,一台缓存服务器挂了,另外的一台起来继续工作,更不能影响其他的缓存系统。
缓存穿透
如果某个key对应的数据不存在,而又未对该key做缓存,所以每次请求都会穿过缓存直接到数据库进行查询,并发量高的情况下进而导致数据库直接宕机,这就是缓存穿透。解决方案:解决缓存穿透,如果做了缓存就要把null值或者空列表等也要缓存起来。如果是恶意攻击一个不存在的key,在控制层做频率限制是必须的。
缓存预热
新的缓存系统没有任何缓存数据,在缓存重建数据的过程中,系统性能和数据库负载都不太好,所以最好是在系统上线之前就把要缓存的热点数据加载到缓存中,这种缓存预加载手段就是缓存预热。缓存热备
缓存热备即当一台缓存服务器不可用时能实时切换到备用缓存服务器,不影响缓存使用。集群模式下,每个主节点都会有一个或多个从节点来当备用,一旦主节点挂点,从节点立即充当主节点使用。推荐阅读
干货:2TB架构师四阶段视频教程面经:史上最全Java多线程面试题及答案
面经:史上最全阿里高级Java面试题
面经:史上最全Spring面试题
教程:最全Spring Boot全套视频教程
书籍:进阶Java架构师必看的15本书
工具:推荐一款在线创作流程图、思维导图软件
分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。
相关文章推荐
- 关于Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案
- 缓存相关——缓存穿透、缓存并发、缓存失效、缓存预热、缓存雪崩、缓存算法
- 缓存雪崩、缓存穿透、缓存预热
- Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法(7)
- 缓存雪崩,缓存穿透,缓存预热,缓存算法
- Redis系列十:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题(转载)
- Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法
- Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法(7)
- Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法
- 缓存穿透,缓存击穿,缓存雪崩解决方案分析
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩的解决方案
- 缓存穿透与缓存雪崩
- redis的缓存穿透和缓存雪崩
- 知乎上看到一篇很好解释“缓存”--------Cache 和 Buffer 都是缓存,主要区别是什么?
- Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群
- 缓存穿透与缓存雪崩
- 你需要知道的缓存击穿/穿透/雪崩
- 缓存穿透和缓存雪崩的预防和解决-Redis