🚀 新規事業
kv-cache-pattern
最終更新 2026年05月09日 / 40_新規事業/SCALE_Build/カタログ/機能集/kv-cache-pattern.md
Cloudflare KV キャッシュ
用途
Cloudflare KV を使った高速キャッシュパターン。TTL管理含む。
特徴
- TTL管理
- 型安全
- バッチ取得
コード(コピペ用)
// Cloudflare KV キャッシュラッパー(TTL付)
type Env = { CACHE: KVNamespace };
export async function getCached<T>(
env: Env,
key: string,
ttlSec: number,
fetcher: () => Promise<T>
): Promise<T> {
const cached = await env.CACHE.get(key, 'json');
if (cached) return cached as T;
const fresh = await fetcher();
await env.CACHE.put(key, JSON.stringify(fresh), { expirationTtl: ttlSec });
return fresh;
}
// 一括無効化(タグ方式)
export async function invalidateByPrefix(env: Env, prefix: string) {
const list = await env.CACHE.list({ prefix });
await Promise.all(list.keys.map((k) => env.CACHE.delete(k.name)));
}
// 使い方:
// const data = await getCached(env, 'user:123', 300, () => fetchUser(123));
使い方
対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。
注意事項
- 依存パッケージを忘れず追加