キャッシング戦略
適切なキャッシング戦略は、アプリケーションのパフォーマンスを劇的に向上させます。
キャッシュレベル
1. ブラウザキャッシュ
Cache-Control: max-age=31536000, immutable
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"2. CDNキャッシュ
- 静的アセットの配信
- エッジロケーションでの処理
- 地理的に分散したキャッシュ
3. アプリケーションキャッシュ
// Redis example
const cached = await redis.get(key);
if (!cached) {
const data = await fetchFromDB();
await redis.setex(key, 3600, data);
return data;
}
return cached;4. データベースキャッシュ
- クエリ結果キャッシュ
- バッファプール
- マテリアライズドビュー
キャッシュ戦略パターン
- Cache-Aside: アプリが明示的にキャッシュを管理
- Write-Through: 書き込み時に同期的にキャッシュ更新
- Write-Behind: 非同期でバッチ処理
- Refresh-Ahead: 期限切れ前に先行更新