投稿

[今さら始める Next.js マスター #4] キャッシュとパフォーマンス最適化

Next.jsにおけるキャッシュの考え方、use cache、revalidate、fetchの戦略を初心者向けに整理します。

[今さら始める Next.js マスター #4] キャッシュとパフォーマンス最適化

キャッシュとは

キャッシュは、一度作った結果や取得したデータを再利用する仕組みです。毎回同じ処理をやり直さずに済むため、ページ表示を速くし、サーバー負荷も下げられます。

Next.jsでは、静的生成、データ取得、ルート単位の再検証など、複数の層でキャッシュを扱えます。

なぜ重要なのか

パフォーマンスはユーザー体験に直結します。表示が速いページは読まれやすく、検索エンジンにも評価されやすくなります。

特にブログ、ドキュメント、商品一覧のように頻繁には変わらないコンテンツでは、キャッシュの効果が大きくなります。

fetchのキャッシュ戦略

Next.jsではfetchにオプションを付けて、データをどのように扱うか指定できます。

1
2
3
await fetch("https://example.com/api/posts", {
  next: { revalidate: 3600 },
});

この例では、取得結果を一定時間再利用し、指定時間を過ぎたら再検証できるようにします。

revalidateの考え方

revalidateは「どのくらいの間、古いデータを使ってよいか」を決めるための設定です。

データの種類 方針
ほぼ変わらない記事 長めにキャッシュ
商品在庫や価格 短めに再検証
ログインユーザー情報 キャッシュしない

すべてを長くキャッシュすれば良いわけではありません。データの性質に合わせて決めることが大切です。

最適化の基本方針

  • 変わりにくいページは静的に近づける
  • 変わりやすいデータは再検証の間隔を短くする
  • ユーザーごとに違う情報はキャッシュ対象から外す
  • 画像やフォントの最適化も合わせて考える

キャッシュは速さのためだけでなく、安定した運用のための設計でもあります。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。