页面切换的四种刷新要分清
1. 页面切换:点导航,Next.js 拉目标路由数据,浏览器不整页重启。
- 后台刷新数据:先显示内存里的旧数据,再请求 API 取最新(stale-while-revalidate)。
- 浏览器整页刷新:按
⌘R,React 与内存缓存全部重建。 - 后台任务刷新:Cron 抓订阅、生成摘要,与页面加载是另一套机制。
推论:
- 定位性能问题先测量属于哪一种。实测主要等待发生在 Next.js 路由切换与鉴权,而不是数据库查询 → 先做导航即时反馈 + 会话缓存,别急着上 Redis。
- 「按
⌘R后也要立即显示上次内容」需要持久化缓存(IndexedDB),复杂度与会话缓存不是一个量级,应拆成独立问题。 - 拆 Issue 也按这个分界:后台任务调度 vs 前端导航/缓存/API 性能;可能共享数据库根因,但拿到证据前不要合并。