Lang x Lang

Custom Next.js Cache Handler

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

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // disable default in-memory caching
}

custom cache handlerの例を見て、実装について詳しく学びましょう。

API Reference

cache handler は以下の Method を実装できます:getset、そしてrevalidateTag

get()

ParameterTypeDescription
keystringキャッシュされた value への鍵。

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

set()

ParameterTypeDescription
keystringデータを保存するためのキー。
dataデータまたはnullキャッシュするデータ。
ctx{ tags: [] }提供された cache タグ。

Promise<void>を返します。

revalidateTag()

ParameterTypeDescription
tagstringcache タグを revalidate する。

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

Good to know:

  • revalidatePathは cache タグの上に便利なレイヤーです。revalidatePath を呼び出すと、revalidateTag関数が呼び出され、それを使って、path に基づいて cache キーをタグ付けするかどうかを選択できます。

Version History

VersionChanges
v14.1.0名前が変更された cacheHandler は安定しています。
v13.4.0実験的に incrementalCacheHandlerPathrevalidateTagをサポートします。
v13.4.0incrementalCacheHandlerPath (実験的)はスタンドアロン出力をサポートします。
v12.2.0実験的に incrementalCacheHandlerPath が追加されました。

当社サイトでは、Cookie を使用しています。各規約をご確認の上ご利用ください:
Cookie Policy, Privacy Policy および Terms of Use