# Edge SSR 与缓存一致性协同:Surrogate-Key、Revalidation 与版本治理 ## 技术背景 边缘 SSR 能显著降低首字节时间,但需与 CDN 缓存协同确保一致性与快速失效。通过 Surrogate-Key 标记资源集合、Revalidation 与版本治理,可在保持性能的同时保证正确性。 ## 核心内容 ### Surrogate-Key 标记 ```text Surrogate-Key: page:home tags:hero posts:list Cache-Control: public, max-age=60, s-maxage=600, stale-while-revalidate=300 ``` ### 失效与重验证(示例) ```typescript async function purgeKeys(keys: string[]) { await fetch('https://api.cdn.example.com/purge', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ surrogateKeys: keys }) }); } async function revalidate(url: string) { await fetch(url, { cache: 'reload' }); } ``` ### 版本治理与一致性 ```typescript async function ensureVersion(manifestUrl = '/version.json') { const local = sessionStorage.getItem('edge-version'); const res = await fetch(manifestUrl, { cache: 'no-cache' }); const { version } = await res.json(); if (local && local !== version) { await purgeKeys(['page:home', 'posts:list']); } sessionStorage.setItem('edge-version', version); } ``` ## 技术验证参数 在全球节点(Chrome 128/Edge 130,CDN/Edge SSR): - TTFB:主源 320–580ms → 边缘 SSR 90–220ms(P95) - CDN 命中率:≥ 85% - 失效响应时间:P95 < 800ms ## 应用场景 - 营销首页与高流量页面 - 数据更新频繁的内容站点 - 多地区分发与就近渲染 ## 最佳实践 - 使用 Surrogate-Key 分组资源,批量失效 - 结合 SWR 与重验证,减少冷启动成本 - 建立版本治理与一致性校验,保障正确性

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部