kevin9327
1e2c7afa93
fix(rps): 轮动矩阵缓存按覆盖天数复用, 切到更长窗口不再少列
打开「概念分析 → 涨幅RPS轮动」时先看 7 日再切到 30 日, 矩阵只有 25 列。
build_rps_rotation 按 days 换算日历窗口读 enriched (days=7 只读 24 个自然日),
但结果缓存键是 "{kind}|{level}|{latest}", 不含 days。120s TTL 内第二次请求
命中第一次那份按 7 日窗口算出来的矩阵, _slice_cached 又因为 len(dates) <= days
原样返回, 于是请求 30 列拿到 25 列。
记录每个缓存条目实际覆盖的天数, 只在覆盖天数 >= 请求天数时复用; 反方向
(宽窗缓存服务窄请求) 仍按原样 slice 复用。
2026-09-10 07:45:55 +09:00
..
2026-09-09 15:49:21 +08:00
2026-09-09 11:36:22 +08:00
2026-08-13 20:16:02 +08:00
2026-09-05 22:49:52 +08:00
2026-08-13 20:16:02 +08:00
2026-09-09 15:30:10 +08:00
2026-09-09 11:09:48 +08:00
2026-09-09 11:09:48 +08:00
2026-09-06 17:39:43 +08:00
2026-09-10 07:45:55 +09:00
2026-09-09 15:30:10 +08:00
2026-09-09 11:09:48 +08:00
2026-09-05 15:41:15 +08:00
2026-09-07 15:25:41 +08:00
2026-07-31 19:56:33 +08:00
2026-07-16 12:17:27 +08:00
2026-09-07 15:25:27 +08:00
2026-09-09 11:09:48 +08:00
2026-08-30 19:05:14 +08:00
2026-07-09 17:38:44 +08:00
2026-09-07 15:25:41 +08:00
2026-07-18 23:37:54 +08:00
2026-09-04 16:37:06 +08:00
2026-07-18 23:37:54 +08:00
2026-09-07 15:25:41 +08:00