Redis Vector Search 缓存失效:键里必须带模型和数据版本
向量结果缓存最麻烦的不是命中,而是“命中了旧世界”。Embedding 模型、文档版本或过滤条件变化后,旧结果可能仍符合键名,却已经不能使用。
缓存键怎么组成
至少包含规范化查询、租户与权限范围、Embedding 版本、索引版本和过滤摘要。缓存值保存候选文档标识与生成时间,不直接缓存无法追溯的整段答案。TTL 只是兜底,发布新索引时还要切换版本前缀。
回源并发用单飞或短期锁合并,锁有持有者和过期策略。回源失败时返回明确状态,不把空结果长期写入。
回归失效路径
测试模型切换、文档删除、权限变化、缓存服务不可用和热点键同时过期。观察命中率时同时看错误、回源与结果新鲜度。一个高命中数字若没有正确性验证,很可能只是旧数据留得久。