Dev Study
Next.js コース

13. キャッシュと revalidate — 取得結果を使い回す

毎回同じデータを取りに行くのは無駄なので、Next.js は fetch の結果をキャッシュ(保存)して使い回せます。fetch の第2引数に { next: { revalidate: 60 } } のように書くと、「60秒間は保存した結果を返し、期限が切れたら取り直す」という動きになります。

実務では「ニュース一覧は60秒キャッシュ」「会社概要は1日キャッシュ」のように、データの鮮度がどれくらい重要かで秒数を決めます。アクセスのたびに API やデータベースを叩かずに済むので、表示が速くなり負荷も下がります。

下のコードは、この「期限付きキャッシュ」の仕組みを Map で再現したものです。期限内はキャッシュが返り、期限が切れると取り直す、という流れを実行して確かめてみてください。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

TypeScript
公式ドキュメントで詳しく ↗