You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Next.js App Router数据获取缓存时长的疑问

Next.js App Router 数据缓存机制说明

这是两种完全不同的缓存机制,作用场景和时长差异很大:

1. 服务器端请求级临时缓存(对应「去重」章节)

  • 适用场景:动态渲染场景(比如组件配置了dynamic="force-dynamic",或者在Server Component中调用了headers()/cookies()这类请求相关的API)
  • 缓存时长:仅在当前请求的完整渲染流程内有效,渲染结束后缓存立即失效
  • 核心作用:同一个请求里多次调用相同的数据获取逻辑(比如重复fetch同一个接口),Next.js会自动去重,只执行一次数据获取,避免冗余请求

2. 静态获取持久缓存(对应「静态获取」章节)

  • 适用场景:静态渲染场景(Next.js默认行为,只要Server Component没有依赖请求专属的动态数据)
  • 缓存时机:在项目构建阶段就完成数据获取并缓存,生成静态HTML或JSON文件
  • 缓存时长:持久生效,后续所有用户请求都会直接复用缓存内容;若需更新,可通过revalidate配置触发增量静态再生
  • 关键提示:只要你的数据获取逻辑没有绑定请求动态参数,Next.js默认会按静态获取处理,构建时缓存数据

简单总结:

  • 静态渲染用构建时生成的持久缓存
  • 动态渲染的单次请求过程中用临时的请求级缓存

内容的提问来源于stack exchange,提问作者user3690467

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:13:15