SSR、SSG 与缓存:先看内容多久变一次

SSR、SSG 与缓存:先看内容多久变一次

渲染策略不需要全站统一。公开稳定内容、频繁更新内容和用户个性化页面,可以使用不同组合,关键是缓存键和失效责任清楚。

静态优先处理稳定页面

文档、营销页等适合构建时生成;需要更新时使用重新构建或按需失效。请求级身份、cookie 和临时数据不进入可共享静态产物。

SSR 防止跨请求污染

不要把用户状态放进进程级可变单例。请求失败返回明确页面或状态码,后端依赖设置超时,不能让一个慢接口无限占用渲染 worker。

const response = await fetch(url, { signal }); if (!response.ok) throw new Error(`page data failed: ${response.status}`);

缓存键包含内容变量

语言、权限、查询参数和数据版本会改变页面,就必须进入键或设置为不可共享。验证命中、失效、旧内容回退和发布回滚,避免只测冷启动速度。