Gemini API 隐式缓存怎么提高命中:公共前缀与 total_cached_tokens 核对法
团队把同一份产品手册反复发给 Gemini API,却发现请求看起来一样,缓存命中并不稳定。Gemini 2.5 及更新模型默认启用隐式缓存,不需要创建缓存对象;真正需要调整的是输入顺序:把大段、公共、稳定的内容放在最前面,把每次变化的问题放在后面,再从 usage.total_cached_tokens 判断是否命中。
- 隐式缓存默认开启,但输入 token 没达到模型门槛时不会形成有效命中。
- 公共前缀越大、越稳定,且相似请求越集中在短时间内,命中机会越高。
- 不要凭响应速度猜缓存,直接记录
usage.total_cached_tokens做请求级核对。
隐式缓存改变了什么
Google 官方文档将隐式缓存描述为 Gemini API 的默认优化:Gemini 2.5 及更新模型均可使用,状态式对话和无状态请求都支持。命中后,平台会自动传递相应的成本节省;调用方不用显式创建、命名或续期缓存对象。
这不等于“任何重复文字都会缓存”。文档当前列出的最低输入门槛是:Gemini 2.5 Flash 与 Gemini 2.5 Pro 为 2048 tokens,Gemini 3.1 Pro Preview 及文档所列的 3.5/3.6/3.7/3.8 Flash 为 4096 tokens。模型列表会更新,接入时应以对应模型页面为准。
| 模型范围 | 文档所列最低输入 token | 判断 |
|---|---|---|
| Gemini 2.5 Flash / Pro | 2048 | 低于门槛时先别讨论命中率 |
| 文档所列 Gemini 3.x 模型 | 4096 | 公共前缀本身最好接近或超过门槛 |
隐式缓存为什么要把公共前缀放前面
隐式缓存匹配的是请求开头的相似内容。更稳的组织方式是:公共前缀先放固定文档与固定规则,末尾再拼用户问题 A 或用户问题 B。若把时间戳、随机 ID、会话摘要等变化字段塞在最前面,即使后面是同一份长文档,前缀也会过早分叉。
另一个条件是短时间窗口。官方建议相似前缀的请求尽量在较短时间内发送,所以批量评测、文档问答和同一知识包的集中流量更容易利用隐式缓存;一天只来一个请求的低频场景,不应把成本预算建立在必然命中上。

用 total_cached_tokens 判断有没有命中
最小验证不需要猜。准备带同一公共前缀的请求 A 与请求 B,只改变末尾问题,并在短时间内连续发送。每个响应对象都读取 usage.total_cached_tokens,同时保存模型名、输入 token 数和前缀版本。该值记录命中的缓存 token 数,适合直接形成命中记录。
如果字段为零或没有增长,就保存为未命中记录,再检查三个地方:输入是否达到当前模型门槛;公共内容是否真的位于最前;前缀中是否混入动态值。不要为了提高数值而删除必要上下文,先保证语义正确,再优化重复部分。

Interactions API 与显式缓存的边界
Interactions API 只支持隐式缓存,不支持手工创建和管理显式缓存对象;需要显式缓存时,应改用 generateContent API。隐式缓存则同时适用于通过 previous_interaction_id 续接的状态式对话,以及自行重传上下文的无状态模式。
迁移时先做一周观测:按模型、公共前缀版本和业务场景汇总 usage.total_cached_tokens,再决定是否值得调整输入布局。若前缀经常变化或输入长期低于门槛,继续维持清晰的请求结构,比追求一个不稳定的命中率更实际。
常见问题
公共前缀相同就一定命中吗?
不一定。还要满足模型的最低输入 token 门槛,并尽量让相似请求在短时间内出现。最终仍以 usage.total_cached_tokens 为准。
状态式对话才能使用隐式缓存吗?
不是。官方文档明确说明状态式与无状态式请求都支持隐式缓存;区别只在上下文如何传递,不在缓存是否可用。
Redis 8.10 Compact Hash 怎么省字段名内存:共享 schema 的适用条件
- 上一篇
- Redis 8.10 Compact Hash 怎么省字段名内存:共享 schema 的适用条件
- 下一篇
- 漫蛙离线缓存一次能下多少话?20话范围与书架同步说明
-
- 科技周边 · 人工智能 | 9小时前 |
- Hugging Face Hub 怎样用 commit hash 固定模型文件版本
- 191浏览 收藏
-
- 科技周边 · 人工智能 | 9小时前 |
- LLM 请求怎样关联 trace id 与 token 统计
- 296浏览 收藏
-
- 科技周边 · 人工智能 | 9小时前 | ai ·
- AI 应用怎样把输出过滤与业务规则分开
- 317浏览 收藏
-
- 科技周边 · 人工智能 | 9小时前 |
- 视觉模型多个检测框怎样按阅读顺序排序
- 375浏览 收藏
-
- 科技周边 · 人工智能 | 10小时前 |
- LLM 推理批量大小怎样在显存和吞吐之间取舍
- 174浏览 收藏
-
- 科技周边 · 人工智能 | 10小时前 |
- AI Agent 工具超时后怎样保留可恢复状态
- 199浏览 收藏
-
- 科技周边 · 人工智能 | 10小时前 |
- Embedding 向量归一化怎样影响相似度计算
- 144浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 527次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 585次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 613次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 565次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 388次使用
-
- Gemini API 显式 Context Caching 怎么验收:cachedContents、TTL 与命中统计
- 2026-08-22 209浏览
-
- Gemini 3.5 Flash thinking_level 怎么迁移:从 thinking_budget 到四档推理强度的选择与验收
- 2026-08-22 457浏览
-
- Gemini API Google Search Grounding 怎么验收:查询链、引用标注与失败边界
- 2026-08-23 191浏览
-
- Gemini 3 结构化输出与工具调用怎么一起验收:schema、工具结果和失败分支
- 2026-08-25 346浏览
-
- Gemini 3.7 Flash 的 Agent 任务怎么验收:多步执行、工具结果与最终状态
- 2026-08-27 176浏览

