缓存问题二、缓存雪崩

缓存雪崩

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

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

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

面试回答:

  • 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库 CPU 和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。一般有三种处理办法:
    *
    1. 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。
      1. 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。
      1. 为 key 设置不同的缓存失效时间。
相关推荐
不良人天码星2 小时前
谈谈redis的持久化
数据库·redis·缓存
重整旗鼓~5 小时前
27.Redisson基本使用和可重入性
数据库·redis·缓存
SunsPlanter6 小时前
苍穹外卖--04--Redis 缓存菜品信息、购物车
数据库·redis·缓存
程序员三明治7 小时前
【Mybatis从入门到入土】ResultMap映射、多表查询与缓存机制全解析
java·sql·缓存·mybatis·resultmap·缓存机制·多表查询
洲覆7 小时前
Redis 事务机制:Pipeline、ACID、Lua脚本
数据库·redis·缓存·lua
keep intensify7 小时前
Redis基础指令全解析:从入门到精通
linux·数据库·c++·redis
DemonAvenger8 小时前
深入浅出Redis List:从基础到实战,10年经验的后端工程师带你解锁最佳实践
数据库·redis·性能优化
CodeBlossom8 小时前
Redis速通
数据库·redis·缓存
麦麦麦造12 小时前
小小 Postgres,何以替代 Redis、MongoDB 甚至 ES?
redis·mongodb·elasticsearch·postgresql
Achou.Wang19 小时前
源码分析 golang bigcache 高性能无 GC 开销的缓存设计实现
开发语言·缓存·golang