自訂 Next.js 快取處理器
您可以設定 Next.js 快取位置,若您希望將快取的頁面和資料持久化儲存,或在多個容器或 Next.js 應用程式實例間共享快取。
查看 自訂快取處理器範例 並了解更多實作細節。
API 參考
快取處理器可實作以下方法:get
、set
、revalidateTag
和 resetRequestCache
。
get()
參數 | 類型 | 描述 |
---|---|---|
key | string | 快取值的鍵名。 |
回傳快取值或 null
(若未找到)。
set()
參數 | 類型 | 描述 |
---|---|---|
key | string | 儲存資料的鍵名。 |
data | Data 或 null | 要快取的資料。 |
ctx | { tags: [] } | 提供的快取標籤。 |
回傳 Promise<void>
。
revalidateTag()
參數 | 類型 | 描述 |
---|---|---|
tag | string 或 string[] | 要重新驗證的快取標籤。 |
回傳 Promise<void>
。了解更多關於 重新驗證資料 或 revalidateTag()
函式。
resetRequestCache()
此方法會在下次請求前重置單一請求的臨時記憶體內快取。
回傳 void
。
注意事項:
revalidatePath
是基於快取標籤的便利層。呼叫revalidatePath
會觸發您的revalidateTag
函式,您可以選擇是否要根據路徑標記快取鍵名。
平台支援
部署選項 | 支援狀態 |
---|---|
Node.js 伺服器 | 是 |
Docker 容器 | 是 |
靜態匯出 | 否 |
轉接器 | 依平台而定 |
了解如何 設定 ISR 當自行託管 Next.js 時。
版本歷史
版本 | 變更內容 |
---|---|
v14.1.0 | 更名為 cacheHandler 並成為穩定功能。 |
v13.4.0 | incrementalCacheHandlerPath 支援 revalidateTag 。 |
v13.4.0 | incrementalCacheHandlerPath 支援獨立輸出模式。 |
v12.2.0 | 實驗性新增 incrementalCacheHandlerPath 。 |