使用 Cloudflare 缓存加速您的网站

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

本文介绍了使用Cloudflare缓存来提高网站性能的经验,包括启用Tiered Cache、Cache Reserve和Cache Rules等技术,根据设备类型进行缓存,利用Strong ETags确保缓存有效性,以及清除缓存的方法。通过多地区的延迟测试结果表明,Cloudflare缓存显著提高了网站性能。

🔎

延伸解读

分层缓存与缓存保留的实测收益

作者启用 Tiered Cache 后,缓存响应时间从 100ms 降至 10ms 以下。Cache Reserve 则允许缓存数 GB 数据,两者虽非必需,但能提升缓存命中的可靠性和速度。对于远离源站的用户,这种优化效果尤为明显。

缓存规则与设备类型适配

通过 Cache Rules 可精细控制缓存范围,例如仅缓存未登录用户(无 user_account cookie)且匹配特定路径的页面。启用 Cache by Device Type 后,Cloudflare 会发送 CF-Device-Type 头,便于源站按设备返回不同内容,如移动端与桌面端显示不同数量的产品。

强 ETag 与缓存失效机制

启用 Respect strong ETags 可确保内容变化时缓存失效。这需要源站响应包含 ETag 头,Fastify 生态有插件可自动生成强 ETag。但作者也发现,Cloudflare 有时会依据 Cache-Control 头过期缓存,缺乏明确的最大过期时间设置,导致无法强制保留缓存超过 TTL。

清除缓存与性能测试结果

使用 Cloudflare API 可自动化清除单个产品缓存,便于产品更新时及时刷新。多地区延迟测试显示,缓存后响应时间从 240-362ms 降至 10-16ms,且结果一致。对于远离源站(美国)的用户,性能提升尤为显著。

❓

Q&A

使用Cloudflare缓存有什么好处?

使用Cloudflare缓存可以显著提高网站性能,尤其是对于远离源服务器的用户,减少响应时间。

如何启用Cloudflare的分层缓存?

可以通过Cloudflare的设置界面启用分层缓存,这样可以减少服务器跳转,提高缓存命中率。

Cloudflare缓存规则的灵活性如何?

Cloudflare的缓存规则非常灵活,可以根据用户身份和URL模式定义哪些页面应被缓存。

如何根据设备类型进行缓存?

可以启用根据设备类型缓存的选项,Cloudflare会发送设备类型的HTTP头,以便提供不同内容。

如何清除Cloudflare缓存?

可以使用Cloudflare提供的API方法清除缓存,这样可以方便地自动化管理缓存。

Cloudflare缓存的最大过期时间设置有什么问题?

Cloudflare有时会根据Cache-Control头过期缓存内容,缺乏明确的最大过期时间设置,导致缓存管理不便。

🏷️

标签

➡️

继续阅读