docs(memory): 分享卡缓存 key 排查结论
This commit is contained in:
@@ -25,3 +25,19 @@
|
||||
内容正确(单题卡 `/114`)。
|
||||
- 顺带确认 **不是** bug:删除提问后分享卡立刻 302(`GetByID` 在缓存查询之前),
|
||||
不存在「删了还能靠缓存取到图」的窗口。
|
||||
|
||||
## 缓存 key 排查结论(`675cecb`)
|
||||
|
||||
用户要求「有影响就修」。查下来**当前没有实际影响**,只有一条理论缺口:
|
||||
|
||||
| 可能场景 | 是否真有影响 | 原因 |
|
||||
|---|---|---|
|
||||
| 用户改域名 → 二维码指向旧域名 | ❌ 当前无 | Domain 只在注册时写(`register.go` / `CreateUser`),无改域名入口 |
|
||||
| 改 ExternalURL / ShareBackground | ❌ 无 | 配置需重启,缓存是进程内的,重启即清 |
|
||||
| 换头像/背景后仍是旧图 | ❌ 无 | R2 key = `picture/日期/随机 hex`,内容不可变,换图必换 URL |
|
||||
| 域名将来可改 | ⚠️ 理论 | 单题卡 key 未含 `user.Domain` |
|
||||
|
||||
处理:给 `questionShareCardCacheKey` 补 `user.Domain`(箱子卡本来就有);
|
||||
两处「TTL 30 分钟」注释改成 1 小时(代码一直是 `time.Hour`)。
|
||||
新增 `TestShareCardCacheKeysCoverDrawnFields`——逐字段变异断言 key 必须变,
|
||||
去掉 Domain 立刻 FAIL。**以后改分享卡要加新字段时,先看这张测试。**
|
||||
|
||||
Reference in New Issue
Block a user