04 · 实验 B

数据缓存:跨请求复用

用 unstable_cache 包住取数(不设 revalidate),数据进数据缓存、页面进完整路由缓存,跨请求复用。

数据生成时间(构建后冻结,刷新不变)

2026-08-21T08:34:44.991Z

随机数(构建后冻结,刷新不变)

0.4429759549564465

怎么观察(必须生产模式)

  1. pnpm build:本页标记为 (Static),并在 .next/server/app/lab/data/fetch-cache.html 生成静态文件。
  2. pnpm start 后多次刷新:时间戳、随机数都不变 —— 命中了数据缓存 + 完整路由缓存。
  3. 想让数据刷新:调用 revalidateTag / revalidatePath(见实验 D),或加时间重新验证(见实验 C)。

关键认知

数据一旦进缓存,跨请求、跨部署持久化,直到被重新验证或主动退出。 这正是"改了数据源,页面却迟迟不更新"的根因 —— 缓存没失效。