08. ネストしたキャッシュ

異なるcacheLifeを持つコンポーネントのネスト動作を示します。

概念

"use cache"を使った関数は、他のキャッシュされた関数を呼び出すことができます。

各関数は独自のcacheLifeを持つことができ、それぞれ独立してキャッシュされます。

親のキャッシュが有効でも、子のキャッシュが期限切れの場合、子だけが再取得されます。

短いキャッシュ(seconds)

30秒stale, 1秒revalidate, 1分expire

高度

中程度のキャッシュ(minutes)

5分stale, 1分revalidate, 1時間expire

高度

長いキャッシュ(hours)

5分stale, 1時間revalidate, 1日expire

高度

ネストの動作

キャッシュの階層構造

高度
独立したキャッシュ

各関数は独自のキャッシュキーとcacheLifeを持ちます

効率的な再検証

期限切れのキャッシュだけが再取得されます

柔軟な設計

データの更新頻度に応じて最適なcacheLifeを設定できます

使用例

実際の活用シーン

高度
ユーザー情報 + 投稿

ユーザー情報(長いキャッシュ)と投稿一覧(短いキャッシュ)を組み合わせる

商品 + 在庫

商品情報(長いキャッシュ)と在庫数(短いキャッシュ)を組み合わせる

試してみよう

  1. 各カードのキャッシュ時刻を確認してください。
  2. ページをリロードして、異なるcacheLifeによってキャッシュの有効期間が異なることを確認してください。
  3. 長いキャッシュのカードには、ネストされたデータが含まれていることを確認してください。
  4. 1分後にリロードして、短いキャッシュだけが更新されることを確認してください。