カスタム 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 コンテナ | 対応あり |
静的エクスポート | 対応なし |
アダプター | プラットフォーム依存 |
Next.js をセルフホスティングする際の ISR 設定方法について学べます。
バージョン履歴
バージョン | 変更内容 |
---|---|
v14.1.0 | cacheHandler に改名され安定版となった |
v13.4.0 | revalidateTag のための incrementalCacheHandlerPath サポート |
v13.4.0 | スタンドアロン出力のための incrementalCacheHandlerPath サポート |
v12.2.0 | 実験的な incrementalCacheHandlerPath が追加された |