Redis × AI — API応答キャッシュでコスト90%削減
約5分で読めます
Redis × AI — API応答キャッシュでコスト90%削減
同じプロンプトに何度もAPIを叩いていませんか。Redisでキャッシュすればコスト90%削減、レスポンスも100倍高速化できる。
なぜRedisキャッシュが必要か
AI APIは1回の呼び出しで$0.003〜$0.015のコストが発生する。同一クエリが繰り返される場面ではキャッシュが劇的な効果を発揮する。
| 指標 | キャッシュなし | キャッシュあり |
|---|---|---|
| レスポンス時間 | 2-5秒 | 10-50ms |
| API費用/月 | $50 | $5 |
| レート制限リスク | 高 | 低 |
基本実装(Python + Redis)
import redis, hashlib
from anthropic import Anthropic
r = redis.Redis(host="localhost", port=6379, decode_responses=True)
client = Anthropic()
def cached_completion(prompt: str, ttl: int = 3600) -> str:
cache_key = f"ai:{hashlib.sha256(prompt.encode()).hexdigest()}"
cached = r.get(cache_key)
if cached:
return cached
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}]
)
result = response.content[0].text
r.setex(cache_key, ttl, result)
return result
セマンティックキャッシュ
完全一致だけでなく、意味的に類似したクエリもキャッシュヒットさせる。Embeddingベクトルのコサイン類似度で判定。
TTL(有効期限)の設計指針
| データ種別 | 推奨TTL | 理由 |
|---|---|---|
| FAQ回答 | 24時間 | 回答が安定 |
| コード生成 | 1時間 | 要件変更が頻繁 |
| 翻訳結果 | 7日 | 原文が変わらない限り有効 |
| トレンド分析 | 30分 | 鮮度が重要 |
Upstash Redis(サーバーレス版)
ローカルRedisが不要。Cloudflare WorkersやVercel Edge Functionsとの相性が良い。無料枠で10,000コマンド/日。
関連記事
A
Agentive 編集部
AIエージェントを実際に使い倒す個人開発者。サイト制作の自動化を実践しながら、その知見を発信しています。