Next.js カスタムキャッシュハンドラ

Next.js では、Pages ルーターと App ルーターのデフォルトキャッシュハンドラはファイルシステムキャッシュを使用します。これは設定不要ですが、next.config.jscacheHandler フィールドを使用してキャッシュハンドラをカスタマイズできます。

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // デフォルトのメモリ内キャッシュを無効化
}

カスタムキャッシュハンドラの例を参照し、実装の詳細について学びましょう。

API リファレンス

キャッシュハンドラは以下のメソッドを実装できます: getsetrevalidateTag

get()

パラメータ説明
keystringキャッシュ値へのキー

キャッシュされた値を返すか、見つからない場合は null を返します。

set()

パラメータ説明
keystringデータを保存するキー
dataData または nullキャッシュするデータ
ctx{ tags: [] }提供されるキャッシュタグ

Promise<void> を返します。

revalidateTag()

パラメータ説明
tagstring再検証するキャッシュタグ

Promise<void> を返します。データの再検証revalidateTag() 関数について詳しく学びましょう。

知っておくと便利:

  • revalidatePath はキャッシュタグの便利なラッパーです。revalidatePath を呼び出すと revalidateTag 関数が呼び出され、パスに基づいてキャッシュキーにタグ付けするか選択できます。

バージョン履歴

バージョン変更内容
v14.1.0cacheHandler が安定版としてリネーム
v13.4.0incrementalCacheHandlerPath (実験的) が revalidateTag をサポート
v13.4.0incrementalCacheHandlerPath (実験的) がスタンドアロン出力をサポート
v12.2.0incrementalCacheHandlerPath (実験的) が追加