自定义 Next.js 缓存处理器
在 Next.js 中,页面路由器和应用路由器的默认缓存处理器使用文件系统缓存。这不需要配置,但你可以通过在 next.config.js
中使用 cacheHandler
字段来自定义缓存处理器。
查看自定义缓存处理器的示例,并了解更多关于实现的信息。
API 参考
缓存处理器可以实现以下方法:get
、set
和 revalidateTag
。
get()
参数 | 类型 | 描述 |
---|---|---|
key | string | 缓存值的键。 |
返回缓存的值或如果未找到则返回 null
。
set()
参数 | 类型 | 描述 |
---|---|---|
key | string | 存储数据的键。 |
data | Data or null | 要缓存的数据。 |
ctx | { tags: [] } | 提供的缓存标签。 |
返回 Promise<void>
。
revalidateTag()
参数 | 类型 | 描述 |
---|---|---|
tag | string | 要重新验证的缓存标签。 |
返回 Promise<void>
。了解更多关于重新验证数据或 revalidateTag()
函数的信息。
值得注意的是:
revalidatePath
是基于缓存标签的便捷层。调用revalidatePath
将调用你的revalidateTag
函数,你可以选择是否根据路径标记缓存键。
版本历史
版本 | 变更 |
---|---|
v14.1.0 | cacheHandler 已稳定。 |
v13.4.0 | incrementalCacheHandlerPath (实验性)支持 revalidateTag 。 |
v13.4.0 | incrementalCacheHandlerPath (实验性)支持独立输出。 |
v12.2.0 | incrementalCacheHandlerPath (实验性)被添加。 |