缓存 HIT 率从 60% 干到 98%,TTFB 能降 40%,源站压力更是断崖式下跌。不需要改代码,Cloudflare 后台配几条规则就行。
顺序是:先分级,再规则,最后验证。
核心结论
- ✓静态资源:长缓存 + hash,一年有效
- ✓HTML:边缘缓存 + 登录态 bypass
- ✓Tiered Cache:源站只被上级节点回源
- ✓验证:看 cf-cache-status 和 HIT 率曲线
缓存分级
- ·图片/CSS/JS:Cache Everything + Edge TTL 1 年
- ·HTML:Edge TTL 分钟级,带 cookie 的请求 bypass
- ·API:默认不缓存,需要的接口单独开
Cache Rules 示例
按路径和 Cookie 拆三条:静态、页面、接口,各自 TTL 和 bypass 条件。
1. 路径含 /assets/* → 缓存 1 年
2. Cookie 含 session → bypass
3. /api/* → 默认不缓存,/api/feed 例外 5 分钟Tiered Cache
打开后全球回源收敛到上级节点,源站带宽和 TTFB 同时改善,尤其是跨国用户。
验证
- ·响应头 cf-cache-status:HIT/MISS/EXPIRED
- ·Analytics 看缓存率曲线,目标 95%+
- ·改版发布用 Purge by URL,别全站 Purge
上线前检查清单
- 01静态是否长缓存
- 02登录态是否 bypass
- 03Tiered Cache 是否开启
- 04HIT 率是否 > 95%
- 05发布流程是否有精准 Purge
常见问题
缓存会导致用户看到旧版吗?
静态用 hash 命名天然隔离;HTML 短 TTL + 发布即 Purge 即可。
动态站能缓存 HTML 吗?
能。匿名态缓存、登录态 bypass,这是标准做法。
TTFB 降不下来?
先看是源站慢还是回源多,对症下药,别无脑加规则。