← AI 百科

缓存失效

AI编程 · AI编程基础
一句话:缓存失效是指数据更新后,旧缓存没有及时删除或更新,导致用户看到旧数据。

它是什么

缓存能让系统更快,但也会带来一致性问题。缓存失效就是当数据库已经变了,缓存里还保存旧结果。它常见于商品价格、用户权限、文章内容、配置项和AI问答结果缓存。

适合干什么

  • 做网站后端的新手
  • 遇到数据更新不生效的人
  • 使用Redis或CDN缓存的人
  • 做AI应用缓存回答的开发者

不适合干什么

  • 完全不使用缓存的简单项目
  • 对一致性要求极高但没有架构设计的金融核心系统
  • 不知道数据更新入口在哪里的项目
  • 只想靠刷新页面解决问题的人

普通人怎么用

  • 确认哪些数据被缓存
  • 找到数据更新入口
  • 更新数据库后删除对应缓存
  • 设置合理过期时间
  • 测试新增、修改、删除三种场景

进阶用户怎么用

  • 使用cache-aside模式
  • 给不同业务设置不同TTL
  • 用版本号或标签批量失效
  • 对热点数据设置预热和降级策略

常见误区

  • 只更新数据库不删缓存
  • 所有缓存都设很长时间
  • 缓存key没有规律,无法删除
  • 删除缓存和更新数据库顺序混乱

和相似工具的区别

  • 缓存失效 vs 缓存穿透:缓存失效是旧数据没更新,缓存穿透是请求绕过缓存直接打到数据库。
  • 浏览器缓存 vs 服务端缓存:浏览器缓存发生在用户设备,服务端缓存发生在应用、Redis或CDN层。

入门步骤

  • 定位缓存层
  • 找缓存key
  • 设计删除策略
  • 设置TTL
  • 写测试
  • 上线监控

推荐工具(第三方)

Redis、Cloudflare、Vercel、Next.js、Upstash