cacheLife

cacheLife 選項允許您在元件或函式中使用 cacheLife 函式時,以及在 use cache 指令 的範圍內定義自訂快取設定檔

使用方式

要定義設定檔,請啟用 dynamicIO 標記 並在 next.config.js 檔案的 cacheLife 物件中新增快取設定檔。例如,一個 blog 設定檔:

import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    dynamicIO: true,
    cacheLife: {
      blog: {
        stale: 3600, // 1 小時
        revalidate: 900, // 15 分鐘
        expire: 86400, // 1 天
      },
    },
  },
}

export default nextConfig

現在您可以在元件或函式中使用這個自訂的 blog 配置,如下所示:

import { unstable_cacheLife as cacheLife } from 'next/cache'

export async function getCachedData() {
  'use cache'
  cacheLife('blog')
  const data = await fetch('/api/data')
  return data
}

參考

配置物件包含以下格式的鍵值:

屬性描述要求
stalenumber用戶端應快取值而不檢查伺服器的持續時間。選填
revalidatenumber快取應在伺服器上重新驗證的頻率;在重新驗證期間可能會提供過期的值。選填
expirenumber值在切換為動態之前可以保持過期的最大持續時間。選填 - 必須比 revalidate

On this page