perf(expiry): 完成 #34 性能优化与缓存
This commit is contained in:
@@ -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 变化。
|
||||
Reference in New Issue
Block a user