GEMINI LABEN
MEMORY — Memory Bank の Memory Profiles が GA になりました。静的スキーマの構造化プロファイルにより、セッション中の検索を挟まずに情報へ到達できますSCOPE — プロファイルは取り込み時のスコープごとに分離され、スキーマとスコープの組み合わせに対して単一のプロファイルが維持されますINGEST — IngestEvents API が GA になり、イベントのストリーミング・メモリのリビジョン管理・メタデータの付与が扱えるようになりましたAUDIO — gemini-3.1-flash-tts-preview が streamGenerateContent 経由のストリーミングに対応し、読み上げ開始までの待ち時間が縮みましたCLASSROOM — 8月10日から、既にアクセス権を付与されている K-12 と高等教育の全年齢の学生が Gemini in Classroom を利用できるようになりますSUNSET — 停止日が迫っています。8月17日に画像生成モデル、20日に Grok 4.1 ファミリー、31日に gemini-robotics-er-1.6-preview ですMEMORY — Memory Bank の Memory Profiles が GA になりました。静的スキーマの構造化プロファイルにより、セッション中の検索を挟まずに情報へ到達できますSCOPE — プロファイルは取り込み時のスコープごとに分離され、スキーマとスコープの組み合わせに対して単一のプロファイルが維持されますINGEST — IngestEvents API が GA になり、イベントのストリーミング・メモリのリビジョン管理・メタデータの付与が扱えるようになりましたAUDIO — gemini-3.1-flash-tts-preview が streamGenerateContent 経由のストリーミングに対応し、読み上げ開始までの待ち時間が縮みましたCLASSROOM — 8月10日から、既にアクセス権を付与されている K-12 と高等教育の全年齢の学生が Gemini in Classroom を利用できるようになりますSUNSET — 停止日が迫っています。8月17日に画像生成モデル、20日に Grok 4.1 ファミリー、31日に gemini-robotics-er-1.6-preview です
記事一覧/API / SDK
API / SDK/2026-05-29上級

Gemini API の応答キャッシュを 3 段で重ねた話 — メモリ・Redis・Context Cache の役割分担

Gemini API のレスポンスをメモリ・Redis・Context Cache の 3 段で重ねた設計と、6 週間の運用で見えたヒット率・コスト・無効化の落とし穴をまとめます。

gemini-api280cache2redis3context-cachearchitecture11cost-optimization22

プレミアム記事

2014 年から個人開発で壁紙アプリと癒し系アプリを運用し続けています。累計 5,000 万ダウンロードを超えたあたりから、Gemini API のレスポンスをそのまま毎回呼ぶと請求書がじわじわと跳ねてくるようになりました。AdMob から入る広告収益を一度 Gemini に流して、また広告でまかなう、その循環が痩せ細っていく感覚です。

そこで 2026 年 4 月に 3 段のキャッシュレイヤーを組み直しました。メモリ・Redis・Gemini Context Cache の三層構成で、それぞれが「いつ・何を・どのくらいの粒度で」担うかを分けています。本ページでは、6 週間運用して見えてきた実数値と、最初に踏んだ無効化の落とし穴、いま落ち着いている設計を順に書いていきます。

3 段に分けた理由 — それぞれの守備範囲

最初は Redis 一段だけで済むと考えていました。けれども実際にトレースを見てみると、似たプロンプトが秒間で何度も飛んでいるパターン、ユーザーセッションをまたいで共有できる長いシステムプロンプト、そして「同じカテゴリの壁紙説明文を 1 日数千回再生成する」という冗長性が、それぞれ別の粒度で発生していました。

各層の責務を次のように整理しています。

  • L1: アプリ内メモリ(LRU、容量 4 MB、TTL 30 秒) — 同一リクエストの秒オーダの重複を吸収します。Cloudflare Workers の Isolate スコープに持たせていて、コールドスタート時には消えます
  • L2: Redis(Upstash、TTL 24 時間) — ユーザー間で共有できる「結果がまったく同じ」レスポンスを保持します。プロンプトと temperature・thinking_budget の組をキーにします
  • L3: Gemini Context Cache(TTL 1 時間〜24 時間) — 長いシステムプロンプトや、再利用したい巨大な参考資料そのものを Gemini 側に置いておきます。トークン課金を直接削るレイヤーです

L1 が一番速くて安く、L3 は遅いが入力トークン課金を直接圧縮します。3 段は「速度・横断性・トークン削減」を独立した次元として扱うための分担です。

6 週間運用した実測値

2026 年 4 月 12 日から 5 月 24 日までの 42 日分の Cloudflare Analytics と Gemini API の請求ダッシュボードを並べた数値です。1 日平均 12,140 リクエスト・ピーク時 580 req/min を受けた状態の集計です。

  • L1 ヒット率 67.2% — 平均応答時間 4 ms。同じユーザーが連続でリロードしたり、画面遷移直後に同じプロンプトが走るパターンを大半吸収しました
  • L2 ヒット率 22.4% — 平均 11 ms。壁紙カテゴリごとの定型説明文がここで止まります
  • L3 ヒット率 4.1% — Gemini 側からの応答自体は通常通り発生しますが、入力トークン課金が 25% に圧縮されます
  • L1〜L3 すべてミス 6.3% — 完全に新規の生成。ここだけが「素の」Gemini 課金とレイテンシを受けます

結果として、Gemini API への実発呼び出しは 1 日 12,140 件 → 765 件まで減りました。同月の請求は前月の $124.30 から $38.71 に 68.8% 減です。AdMob の eCPM が同期間で $1.42 だったので、1 日あたり 270 円ほど余裕が出た計算です。広告 1 つ分のコストを取り戻せた感覚があり、ささやかでも個人開発の損益分岐線をひと押し下げる手応えがありました。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
壁紙アプリで 1 日 1.2 万件の生成リクエストを処理する中で測ったメモリ 67%・Redis 22%・Context Cache 4% の実ヒット率と $124/月の Gemini 課金を $38 に抑えるまでの内訳
Context Cache の最低 32,768 トークン要件と TTL 自動延長の挙動を踏まえた『書き込みは慎重に、参照は気軽に』というレイヤー責務分担の判断軸
Redis フラッシュ時に Gemini 側 Context Cache だけ取り残されてしまった失敗から学んだ、3 段同時無効化を保証する write-through+stale-while-revalidate の実装パターン
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-23
会話状態をサーバーに預けるべきか — previous_interaction_id と手元での履歴刈り込みの分岐設計
Interactions API の previous_interaction_id で会話状態をサーバーに預けると、毎回履歴を送らずに済みます。ところが途中で入った巨大なツール出力を後から刈り込めず、以降のターンが重量を引きずる落とし穴があります。サーバー側状態と手元での刈り込みを状況で使い分ける分岐設計を、動くPythonの薄いラッパーとともに整理します。
API / SDK2026-07-02
Gemma 4 ローカル推論と Gemini API の使い分けで月額¥32,000を¥9,000台にした — ハイブリッドルーターの本番設計
月額¥32,000のGemini APIコストを¥9,000台まで下げたハイブリッド推論構成の記録です。ルーティング設計・Python実装・本番の落とし穴に加え、2026年7月のGemma 4 API提供開始を踏まえた構成見直しの指針もまとめました。
API / SDK2026-04-07
Gemini API セマンティックルーター実装ノート ― Flash と Pro を賢く振り分けて API 費用を抑える
Gemini API でクエリ内容を自動判定し最適モデルへ振り分けるセマンティックルーターの実装ノート。Flash と Pro を 2 段階で賢くディスパッチして API 費用を抑える設計パターン、Python・TypeScript の動くコード、運用で気づいた 7 つの実装インサイトをまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →