缓存
@opennextjs/cloudflare 支持 缓存 (opens in a new tab)。
默认情况下,您的 Next.js 应用中发出的所有 fetch() 子请求都会被缓存。有关如何禁用单个子请求或整个路由的缓存的信息,请参阅 Next.js 文档 (opens in a new tab)。
缓存会在部署之间持久存在 (opens in a new tab)。您负责重新验证/清除此缓存。
请注意,重新验证 (opens in a new tab) 尚未支持。
Next.js 在构建时预热缓存。构建时的值由 Workers Assets (opens in a new tab) 提供。
💡
Workers KV 是最终一致的,这意味着在使用默认的 60 秒 TTL 时,更新最多可能需要 60 秒才能在全球范围内反映出来。
如何启用缓存
@opennextjs/cloudflare 使用 Workers KV (opens in a new tab) 作为您的 Next.js 应用的缓存。Workers KV 速度快 (opens in a new tab),并使用 Cloudflare 的 分层缓存 (opens in a new tab) 来提高缓存命中率。当您向 Workers KV 写入缓存数据时,您写入的是任何 Cloudflare 位置都可以读取的存储。这意味着您的应用可以获取数据,将其缓存到 KV 中,然后随后来自世界任何地方的请求都可以从此缓存中读取。
要启用缓存,您必须:
1. 创建 KV 命名空间
npx wrangler@latest kv namespace create <YOUR_NAMESPACE_NAME>2. 将 KV 命名空间添加到您的 Worker
您的应用 worker 中使用的绑定名称是 NEXT_CACHE_WORKERS_KV。
// wrangler.json
{
// ...
"kv_namespaces": [
{
"binding": "NEXT_CACHE_WORKERS_KV",
"id": "<BINDING_ID>",
},
],
}