Next.js 缓存策略
两种模式
| 模式 | 行为 |
|---|---|
| 静态渲染(默认) | 构建时渲染,数据被缓存 |
| 动态渲染 | 每次请求重新渲染,数据不缓存 |
控制缓存
tsx
// 强制动态(不缓存)
export const dynamic = 'force-dynamic'
// 强制静态(缓存)
export const dynamic = 'force-static'
// 定时重新验证(ISR)
export const revalidate = 60 // 每60秒重新生成fetch 缓存控制
ts
fetch(url) // 默认缓存
fetch(url, { cache: 'no-store' }) // 不缓存
fetch(url, { next: { revalidate: 60 } }) // 60秒后重新验证