0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Next.js】ルーターキャッシュの有効期間について

Posted at

有効期間を決定する2つの要素

ルーターキャッシュの有効期間は、以下の2つの要素によって決まります。

セッション

  • キャッシュはナビゲーション中維持される
  • ページのリフレッシュ時にクリアされる

自動無効化期間

レイアウトとローディング状態のキャッシュは、特定の時間後に自動的に無効化されます。期間はリソースのプリフェッチ方法静的生成の有無によって異なります。

プリフェッチタイプ 動的ページ 静的ページ
デフォルトプリフェッチ
prefetch={null}または未指定
キャッシュなし 5分
完全プリフェッチ
prefetch={true}またはrouter.prefetch
5分 5分

重要なポイント

  • Next.js 15以降、ページセグメントはデフォルトでキャッシュから除外されています
  • ページリフレッシュはすべてのキャッシュセグメントをクリアしますが、自動無効化期間は個別のセグメントがプリフェッチされた時点からカウントされます
  • 実験的なstaleTimes設定オプションを使用すると、自動無効化時間を調整できます

キャッシュの無効化方法

以下の2つの方法でルーターキャッシュを無効化できます。

Server Actionでの無効化

  • revalidatePath()またはrevalidateTag()でデータを再検証
  • cookies.setまたはcookies.deleteの使用(認証状態の変更などに有効)

クライアント側での無効化

  • router.refresh()を呼び出して、現在のルートに対する新しいリクエストを作成

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?