用途:在 Next.js 16+ App Router 项目从第一天起正确架构缓存,而非随意放置 "use cache"。主要能力:规划标签注册表、重验证工具、Suspense 边界与突变连接,使缓存随代码库增长保持正确。使用方式:先在 next.config.ts 启用 cacheComponents: true;在 lib/cache/tags.ts 集中所有标签字符串;在 lib/cache/revalidate.ts 集中所有 updateTag() 调用;"use cache" 放在数据获取函数或缓存的子组件上,页面组件只编排不抓取。个性化内容需在缓存边界外读取 cookies()/headers()/auth() 并以参数传入;突变调用重验证工具而非直接 updateTag。updateTag(tag) 用于服务端操作立即生效,revalidateTag(tag, "max") 用于路由处理器或 Webhook 的后台 stale-while-revalidate,且必须传第二个参数。过滤/搜索参数页面应使用 SuspenseOnSearchParams。限制与注意:资料提及 "use cache: private" 属少数例外,具体细节见参考文件;模板占位符需按项目重命名;完整调试流程与检查清单见 references/debugging-and-checklist.md。可用于缓存键推导、个性化内容、陈旧数据排查、从 unstable_cache 迁移等场景,具体平台与收费信息暂未提供。
nextjs-cache-architecture
前端与建站
更新于 10-16 01:17