unstable_cache
unstable_cache
允許您快取昂貴操作(如資料庫查詢)的結果,並在多個請求中重複使用。
須知: 不支援在快取範圍內存取動態資料來源,例如
headers
或cookies
。若需在快取函式中使用此類資料,請在快取函式外部使用headers
,並將所需的動態資料作為參數傳入。
警告:此 API 目前不穩定,未來可能變更。當此 API 穩定時,我們將視需要提供遷移文件和程式碼修改工具。
參數
fetchData
:這是一個非同步函式,用於取得您想快取的資料。它必須是一個回傳Promise
的函式。keyParts
:這是一個識別快取鍵的陣列。它必須包含全域唯一值,這些值共同識別被快取資料的鍵。快取鍵還包含傳遞給函式的引數。options
:這是一個控制快取行為的物件,可包含以下屬性:tags
:可用於控制快取失效的標籤陣列。revalidate
:快取應重新驗證的秒數。省略或傳遞false
表示永久快取,直到呼叫匹配的revalidateTag()
或revalidatePath()
方法。
回傳值
unstable_cache
回傳一個函式,當呼叫時,會回傳一個解析為快取資料的 Promise。如果資料不在快取中,則會呼叫提供的函式,其結果將被快取並回傳。
版本歷史
版本 | 變更內容 |
---|---|
v14.0.0 | 引入 unstable_cache 。 |