从精确缓存到语义缓存:变化的是命中契约,不是替代关系

发布时间:2026/10/25 18:16:27
从精确缓存到语义缓存:变化的是命中契约,不是替代关系 “同义句能复用答案”听起来简单落到业务里却要回答另一个问题这两个人在这个时刻真的应该拿到同一份答案吗精确缓存和语义缓存可以共存。前者用业务定义的Key命中Key完全可以包含租户、版本和规范化字段哈希只是实现手段不能把所有缓存都写成“对原句算MD5”。语义缓存扩大的是候选集合付出的代价是必须判断错误复用。先挑出允许复用的问题公开的、带规则版本的退换货FAQ可以作为候选。订单状态、个人额度、实时库存则包含身份和时点即使两句话向量很接近也不能直接复用别人的回答。“明天会下雨吗”还带有相对日期跨天复用会改变问题本身。Redis现行语义缓存文档把相似匹配与租户、模型版本等硬边界放在一起也将缓存定义为可以重建的副本。这支持一种设计取舍先决定允许复用的范围再在范围内寻找近邻。官方说明未标可靠首发日本文不把它包装为十月新品。一个可以直接运行的策略例子下面没有模型、数据库或生成向量只有命中许可函数。相似度数字是手写测试输入作用是验证硬条件不能被高分绕过。import java.time.Instant; import java.util.Objects; public class CacheContract { static boolean reusable(String requestTenant, String cachedTenant, String requestRevision, String cachedRevision, boolean shareable, Instant expiresAt, Instant now, double similarity) { return requestTenant ! null requestRevision ! null Objects.equals(requestTenant, cachedTenant) Objects.equals(requestRevision, cachedRevision) shareable expiresAt ! null now.isBefore(expiresAt) Double.isFinite(similarity) similarity 0.95 similarity 1.0; } public static void main(String[] args) { Instant now Instant.parse(2026-10-23T00:00:00Z); Instant later now.plusSeconds(60); assert reusable(a, a, r1, r1, true, later, now, 0.96); assert !reusable(a, b, r1, r1, true, later, now, 1.0); assert !reusable(a, a, r2, r1, true, later, now, 1.0); assert !reusable(a, a, r1, r1, true, now, now, 1.0); assert !reusable(a, a, r1, r1, false, later, now, 1.0); assert !reusable(a, a, r1, r1, true, later, now, Double.NaN); System.out.println(cache contract: 6 assertions passed); } }保存为CacheContract.java执行javac --release 11 CacheContract.java java -ea CacheContract。断言开关-ea不能省略。0.95是教学策略值不是某个Embedding模型的通用阈值真正接Redis时还要确认引擎返回的是距离还是相似度不能直接复制这个比较方向。命中以后仍有两笔账一笔是正确性过期规则、租户串用、错商品、否定词变化分别产生多少错误复用。另一笔是开销Embedding、检索、运维和误答处理也消耗资源。命中率高最多说明多复用了内容不能单独说明节省了多少费用。本例只验证许可逻辑没有验证向量质量、Redis查询计划或真实缓存收益。工程上可以先查精确缓存再查经过硬过滤的语义候选两者均未满足条件时回源。没有合格候选时诚实Miss比返回一条“非常相似的错误答案”更容易恢复。本地验证记录Oracle JDK 12.0.1使用javac --release 11编译并以java -ea运行输出cache contract: 6 assertions passed。这只是离线契约检查不含真实模型、数据库或生产链路测试。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询