cacheLife
cacheLifeオプションを使用すると、コンポーネントや関数内のcacheLife関数、またはuse cacheディレクティブのスコープ内でカスタムキャッシュプロファイルを定義できます。
使用方法
プロファイルを定義するには、cacheComponentsフラグを有効にし、next.config.jsファイルのcacheLifeオブジェクトにキャッシュプロファイルを追加します。たとえば、blogプロファイル。
next.config.ts
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
cacheComponents: true,
cacheLife: {
blog: {
stale: 3600, // 1 hour
revalidate: 900, // 15 minutes
expire: 86400, // 1 day
},
},
}
export default nextConfigこのカスタムblog構成は、コンポーネントまたは関数で次のように使用できるようになりました。
app/actions.ts
import { cacheLife } from 'next/cache'
export async function getCachedData() {
'use cache'
cacheLife('blog')
const data = await fetch('/api/data')
return data
}リファレンス
構成オブジェクトには、以下の形式のキーと値があります。
| プロパティ | 値 | 説明 | 要件 |
|---|---|---|---|
stale | number | クライアントがサーバーをチェックせずに値をキャッシュする期間。 | オプション |
revalidate | number | サーバーでキャッシュがリフレッシュされる頻度。再検証中は、古い値が提供される場合があります。 | オプション |
expire | number | 動的に切り替わる前に、値が古い状態のままでいられる最大期間。 | オプション - revalidateより長い必要があります |
役に立ちましたか?