自訂 Next.js 快取處理器

您可以設定 Next.js 快取位置,若您希望將快取的頁面和資料持久化儲存,或在多個容器或 Next.js 應用程式實例間共享快取。

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // 停用預設的記憶體內快取
}

查看 自訂快取處理器範例 並了解更多實作細節。

API 參考

快取處理器可實作以下方法:getsetrevalidateTagresetRequestCache

get()

參數類型描述
keystring快取值的鍵名。

回傳快取值或 null(若未找到)。

set()

參數類型描述
keystring儲存資料的鍵名。
dataData 或 null要快取的資料。
ctx{ tags: [] }提供的快取標籤。

回傳 Promise<void>

revalidateTag()

參數類型描述
tagstringstring[]要重新驗證的快取標籤。

回傳 Promise<void>。了解更多關於 重新驗證資料revalidateTag() 函式。

resetRequestCache()

此方法會在下次請求前重置單一請求的臨時記憶體內快取。

回傳 void

注意事項:

  • revalidatePath 是基於快取標籤的便利層。呼叫 revalidatePath 會觸發您的 revalidateTag 函式,您可以選擇是否要根據路徑標記快取鍵名。

平台支援

部署選項支援狀態
Node.js 伺服器
Docker 容器
靜態匯出
轉接器依平台而定

了解如何 設定 ISR 當自行託管 Next.js 時。

版本歷史

版本變更內容
v14.1.0更名為 cacheHandler 並成為穩定功能。
v13.4.0incrementalCacheHandlerPath 支援 revalidateTag
v13.4.0incrementalCacheHandlerPath 支援獨立輸出模式。
v12.2.0實驗性新增 incrementalCacheHandlerPath

On this page