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-07-26 12:19:55 +08:00
2026-06-18 17:18:23 +08:00
2026-09-05 15:41:15 +08:00
2026-09-04 12:50:50 +08:00
2026-07-08 18:10:19 +08:00
2026-07-03 14:11:27 +08:00
2026-08-30 19:05:31 +08:00
2026-08-05 17:56:27 +08:00
2026-09-05 15:41:15 +08:00
2026-09-09 11:09:48 +08:00
2026-09-09 07:10:35 +09:00
2026-09-09 11:09:48 +08:00
2026-09-05 22:49:52 +08:00
2026-08-30 19:05:30 +08:00
2026-09-04 16:37:06 +08:00
2026-09-09 16:30:20 +08:00
2026-09-06 23:16:27 +08:00
2026-09-09 16:30:20 +08:00
2026-08-30 19:05:21 +08:00
2026-09-04 12:03:06 +08:00
2026-09-09 07:33:28 +09:00
2026-09-02 20:20:38 +08:00
2026-09-09 11:09:48 +08:00
2026-08-31 16:50:21 +08:00
2026-07-05 22:57:46 +08:00
2026-07-06 17:00:56 +08:00
2026-09-09 07:10:55 +09:00
2026-09-09 09:04:28 +08:00
2026-09-04 11:59:00 +08:00
2026-08-31 16:50:21 +08:00
2026-08-16 23:39:07 +08:00
2026-07-08 18:10:19 +08:00
2026-09-04 12:03:06 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-08-16 23:39:07 +08:00
2026-09-01 13:05:21 +08:00
2026-06-23 21:47:29 +08:00
2026-09-09 11:09:48 +08:00
2026-09-08 18:09:59 +08:00
2026-09-07 15:25:41 +08:00
2026-09-04 12:19:35 +08:00
2026-08-23 19:12:57 +08:00
2026-09-10 07:45:55 +09:00
2026-09-03 13:45:12 +08:00
2026-08-31 16:50:21 +08:00
2026-09-04 12:03:06 +08:00
2026-07-08 18:10:19 +08:00
2026-09-09 16:10:03 +08:00
2026-09-09 15:49:21 +08:00
2026-08-30 19:05:28 +08:00
2026-09-02 14:48:32 +08:00
2026-09-02 14:48:32 +08:00
2026-09-05 21:14:53 +09:00
2026-07-09 16:35:21 +08:00