缓存问题二、缓存雪崩

缓存雪崩

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

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

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

面试回答:

  • 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。一般有三种处理办法:
    *
    1. 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。
      1. 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。
      1. 为 key 设置不同的缓存失效时间。
相关推荐
cjay_fighting10 小时前
redis7新特性、源码解析
数据库·redis·分布式
舒一笑13 小时前
supervised systemd -bash: supervised: 未找到命令如何解决?
开发语言·redis·bash
Catherines713 小时前
ssrf结合redis未授权getshell
redis·安全
wjq++14 小时前
LRU 缓存机制
java·spring·缓存
躺平攻城狮14 小时前
docker中实现多机redis主从集群
redis·docker·容器
MichaelxcT14 小时前
Redis哨兵和集群模式
linux·运维·redis
程序员零零柒15 小时前
Redis中hash类型的操作命令(命令的语法、返回值、时间复杂度、注意事项、操作演示)
redis
云雨殇17 小时前
分布式锁Redisson
数据库·redis·分布式
Obsession123421 小时前
NoSQL 之 Redis 集群部署
数据库·redis·nosql
小_北_辰1 天前
使用Spring Boot和自定义缓存注解优化应用性能
java·spring boot·缓存