缓存问题二、缓存雪崩

缓存雪崩

  1. 缓存雪崩 :是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。

  2. 缓存雪崩的解决方案:

    • 给不同的Key的TTL添加随机值
    • 利用Redis集群提高服务的可用性
    • 给缓存业务添加降级限流策略
    • 给业务添加多级缓存(添加多种不同的缓存,比如nginx等等)

面试回答:

  • 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。一般有三种处理办法:
    *
    1. 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。
      1. 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。
      1. 为 key 设置不同的缓存失效时间。
相关推荐
汤姆大聪明28 分钟前
Redisson 操作 Redis Stream 消息队列详解及实战案例
redis·spring·缓存·maven
敲上瘾3 小时前
高并发内存池(二):Central Cache的实现
linux·服务器·c++·缓存·哈希算法
csjane107915 小时前
Redis原理:rename命令
java·redis
Feng.Lee15 小时前
聊一聊缓存如何进行测试
功能测试·测试工具·缓存
小吴先生66617 小时前
Groovy 规则执行器,加载到缓存
java·开发语言·缓存·groovy
Chandler2420 小时前
Redis:内存淘汰原则,缓存击穿,缓存穿透,缓存雪崩
数据库·redis·缓存
❀͜͡傀儡师1 天前
多台服务器上docker部署 Redis 集群
运维·服务器·redis
Foyo Designer1 天前
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的国际化:支持多语言的 RESTful API
java·spring boot·redis·后端·spring·缓存·restful
十六ᵛᵃᵉ1 天前
day6_FlinkSQL实战
java·redis·ajax
嘉友1 天前
Redis zset数据结构以及时间复杂度总结(源码)
数据结构·数据库·redis·后端