Node.js SSR/SSG:缓存策略要和内容时效对齐
Node.js SSR/SSG:缓存策略要和内容时效对齐
SSR、SSG 和增量生成不是三选一的标签。页面内容多久变化、是否按用户定制、失败时能否展示旧内容,才决定渲染方式。
先按数据新鲜度分页面
稳定内容静态生成,公共但频繁变化的页面使用缓存 SSR 或增量更新,强个性化部分留给请求时或客户端。不要让整页被一个用户字段拖进动态渲染。
缓存键和失效必须可解释
键包含语言、路由和影响内容的参数;内容发布触发精确失效,TTL 只做兜底。回源失败是否允许 stale,需要按业务约定。
- 避免把用户数据写进共享缓存。
- 流式 SSR 处理客户端断开。
- hydration 错误进入监控。
用完整请求链验证
测试首访、命中、失效和回源失败,记录 TTFB 与内容版本。只在本地测 render 函数,覆盖不了 CDN 和数据依赖。
渲染策略的本质是时间和缓存。页面何时生成、能旧多久、失败看什么,说清楚就不容易选错。
原稿中的最小片段
if (!response.ok) throw new Error('加载页面数据失败');这段片段保留原样,只用于说明接口形态;接入项目时仍要补齐类型、错误和测试。