perf(expiry): 完成 #34 性能优化与缓存

This commit is contained in:
root
2026-03-04 18:40:45 +08:00
parent 3668b10be3
commit 3301acf6e6
4 changed files with 178 additions and 5 deletions
@@ -0,0 +1,36 @@
# 性能优化说明(2026-03-04
## 后端优化
### 1. summary Redis 缓存(5分钟)
- 缓存 key: `expiry_summary:{user_id}`
- 缓存时机:`GetSummary`
- 失效时机:
- 创建物品
- 更新物品
- 删除物品
- 标记状态(used/discarded
### 2. 查询路径优化
- 继续使用以下索引支撑核心查询:
- `idx_user_expiry (user_id, expiry_date)`
- `idx_user_category (user_id, category)`
- `idx_user_status (user_id, status)`
- 修复汇总统计中基查询复用导致的统计偏差风险。
## 前端优化
### 1. 列表滚动优化
- 列表采用分页加载(`page/page_size`)与上拉触底加载,避免一次性渲染大量节点。
- 筛选与排序切换时采用增量刷新,降低页面抖动。
### 2. 首页加载优化
- 首页仅请求 `summary` + `expiring` 前 10 条,减少首屏数据量。
## 验证建议
1. 在压测环境执行:
```bash
hey -n 100 -c 20 -H "Authorization: Bearer <token>" http://<host>/api/expiry/summary
```
2. 观察均值响应时间与 P95。
3. 观察 Redis 命中率与数据库 QPS 变化。