标准答案

  1. 把商品基础信息、价格、库存、营销和推荐按更新频率与一致性要求拆分,避免所有数据都走同一缓存和同一失效策略。
  2. 公开且稳定的内容可使用 CDN 和本地缓存,跨实例共享数据使用分布式缓存,数据库仍是核心事实来源。
  3. 对热 Key 使用预热、逻辑过期、请求合并或限流保护,防止失效瞬间大量请求穿透数据库。
  4. 降级时可以展示最近缓存的详情并关闭非关键推荐或实时统计,但价格、库存和购买资格需要明确陈旧边界。

题目解析

商品详情难点不是把数据放进 Redis,而是更新和读取路径能否在高峰下保持一致、可观测和可恢复。

热点通常集中在少数商品或活动时间窗,设计应能按商品粒度限流、预热和隔离,避免一个爆款影响全站。

常见误区

  • 把库存和价格长期当作无条件可缓存数据。
  • 所有详情字段使用同一个 TTL,导致更新频率不同的数据互相牵连。
  • 缓存失效时没有保护,直接把峰值流量打到数据库。

作者信息