## キャッシュ (Cache)

「どのデータをキャッシュできるか、どこにキャッシュするか、いつ無効になるか、どのように一貫性とオリジンフォールバックを維持するか」を表現するために使用され、実装フェーズで場当たり的にキャッシュが追加されることによるダーティリード、ペネトレーション、およびアバランチを防ぎます。

適用シナリオ:
- ホットスポットの読み取り (リスト/詳細/構成/辞書)
- 計算コストが高い、または遅い外部依存関係 (集計レポート、権限/スコープの解決、サードパーティのクエリ)

推奨される構造:
- キャッシュオブジェクト: キャッシュキー、値、ディメンション (テナント/ユーザー/ロール/リソース)
- 場所: ブラウザ/ローカルプロセス/Redis/CDN
- TTLと無効化: 有効期限戦略、アクティブな無効化、ダブルライト/遅延ダブルデリート
- 一貫性: 許容される古いウィンドウ、オリジンフォールバック戦略、べき等性、および同時実行制御 (シングルフライト/ロック)
- リスク: ペネトレーション/ブレークダウン/アバランチとフォールバック (劣化、レート制限、ウォームアップ)

実装の提案:
- 各キャッシュの「ヒット率の目標」と「無効化のトリガー条件」を明確に記述し、重要なシナリオが変更されたときに無効化が正しいかどうかを検証します。