星海

Redis · 单选题 · 第 44 题

Java 后端开发面试 · 第 44 题

大批缓存 key 设置了相同的过期时间,同一时刻集中失效,导致数据库压力骤增。下列哪项最直接地预防这种情况?

  1. A用布隆过滤器过滤不存在的 key
  2. B把所有 key 的名字都改得更长
  3. C关闭 Redis 的 RDB 和 AOF 持久化
  4. D在基础过期时间上加一个随机偏移

答案

D D. 在基础过期时间上加一个随机偏移

解析

这是缓存雪崩。过期时间加随机值后,失效时间点被打散,数据库压力就平滑了。其他手段还有多级缓存、热点数据永不过期加异步刷新、限流降级,以及用集群和哨兵防止 Redis 整体宕机。布隆过滤器针对的是缓存穿透。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。