[今さら始める 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 の下でライセンスされています。
