オンデマンドISRのキャッシュファイルは、FileSystemCacheクラスのgetFilePathメソッドによって決定されます。 next.js:450-471
キャッシュの種類によって、以下のように保存されます:
Fetchキャッシュ → .next/cache/fetch-cacheディレクトリに保存されます。
ページキャッシュ → .next/server/appディレクトリに保存されます。
具体的には
・HTMLファイル: `{key}.html`
・RSCデータ: `{key}.rsc`(PPR有効時は`{key}.prefetch.rsc`)
・メタデータ: `{key}.meta`
・セグメントデータ: `{key}.rsc.segments/{segmentPath}.rsc.segment` next.js:379-434
.next/server/appディレクトリに保存されます。
.next/server/pagesディレクトリに保存されます。
なお、キャッシュの場所はnext.config.jsのcacheHandlerオプションでカスタマイズ可能です。
ローカル開発サーバー(next dev)と本番ビルド(next build + next start)では、ISRキャッシュの動作とファイル生成に重要な違いがあります。
本番ビルド時に生成されるファイル構造は各ルートに対して以下のファイルが生成されます:
.html - HTMLコンテンツ
.rsc - React Server Componentペイロード