自訂 Next.js 快取處理器

在 Next.js 中,預設快取處理器 用於 Pages 和 App Router 時使用檔案系統快取。這不需要任何設定,但你可以透過在 next.config.js 中使用 cacheHandler 欄位來自訂快取處理器。

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

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

API 參考

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

get()

參數類型說明
keystring快取值的鍵。

回傳快取值或 null(如果找不到)。

set()

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

回傳 Promise<void>

revalidateTag()

參數類型說明
tagstring要重新驗證的快取標籤。

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

注意事項:

  • revalidatePath 是快取標籤上的一個便利層。呼叫 revalidatePath 會呼叫你的 revalidateTag 函數,然後你可以選擇是否要根據路徑標記快取鍵。

版本歷史

版本變更
v14.1.0重新命名的 cacheHandler 已穩定。
v13.4.0incrementalCacheHandlerPath(實驗性)支援 revalidateTag
v13.4.0incrementalCacheHandlerPath(實驗性)支援獨立輸出。
v12.2.0新增 incrementalCacheHandlerPath(實驗性)。

On this page