Next 15 的缓存四件套——Data Cache、Full Route Cache、Router Cache、Request Memoize——文档看完了还是分不清。经常出现 "改了数据但页面没变" 或 "登录态串了" 的情况。
我自己总结了一个粗暴的判断法:
- 跨请求共享的数据 → Data Cache,要显式 revalidate。
- 整个路由的 HTML/RSC payload → Full Route Cache。
- 客户端导航时的预取和缓存 → Router Cache,最容易出玄学。
- 单次请求内复用 → React cache()。
后来干脆默认全关缓存(dynamic = 'force-dynamic'),需要的地方再手动开。性能差点但心智清楚。
有人画过更清晰的图吗?求一份靠谱的 cache 心智模型。