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を設定できます
使用例
実際の活用シーン
ユーザー情報 + 投稿
ユーザー情報(長いキャッシュ)と投稿一覧(短いキャッシュ)を組み合わせる
商品 + 在庫
商品情報(長いキャッシュ)と在庫数(短いキャッシュ)を組み合わせる
試してみよう
- 各カードのキャッシュ時刻を確認してください。
- ページをリロードして、異なるcacheLifeによってキャッシュの有効期間が異なることを確認してください。
- 長いキャッシュのカードには、ネストされたデータが含まれていることを確認してください。
- 1分後にリロードして、短いキャッシュだけが更新されることを確認してください。