curl -X POST 'http://127.0.0.1:8080/admin/cache/flush?prefix=llm'

模型已下线两天,本地 LRU 缓存仍返回旧结果,TTL 设的是 24 小时且没有主动失效。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:缓存只在本地进程里,过期时间按自然时间算,模型切换或下线时没有任何清理动作。旧答案一直命中。

「本地缓存过期」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。监控和日志的时间要对上,时区不一致会多绕很大一圈。

临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

处理上按这个顺序:TTL 按业务缩短到 1 小时;缓存 key 带模型版本 下线即换 key;提供按前缀清理的运维接口;发布流程里加一步清缓存。

确认没问题再收工,模型切换后首次请求返回新结果 命中缓存的不再是旧答案。

作者 9823189