适用场景:紧急更新、内容修正后需立即生效。
https://example.com/page.html
)。 https://example.com/images/
)。 适用场景:长期维护网站,避免频繁手动操作。
通过修改文件名或参数,强制CDN拉取新版本文件:
style-v2.css
→ style-v3.css
。 script.js?version=20241001
。 image.jpg?hash=abc123
(需结合构建工具自动生成)。适用场景:需精细化控制缓存策略。
在服务器响应头中设置Cache-Control
指令:
location /static/ { add_header Cache-Control "max-age=3600, must-revalidate"; }
max-age=0
:立即过期,需谨慎使用。 no-cache
:允许缓存但需验证资源是否更新。 no-store
:禁止缓存(可能影响性能)。适用场景:结合自动化脚本或CI/CD流程。
通过调用CDN服务商提供的API实现批量刷新:
# Cloudflare示例 curl -X POST "https://api.cloudflare.com/client/v4/zones/{zone_id}/purge_cache" -H "Authorization: Bearer {api_token}" -H "Content-Type: application/json" --data '{"files":["https://example.com/file1.jpg"]}'
适用场景:高流量页面更新后避免首次访问延迟。
部分CDN支持“预热”功能,提前将新内容分发至边缘节点,确保用户访问时直接命中缓存。
Hosts
或本地DNS测试内容是否生效。 Q:清除缓存后,部分用户仍看到旧内容?
A:可能是本地浏览器缓存导致,可提示用户强制刷新(Ctrl+F5)或清除本地缓存。
Q:如何减少缓存失效的依赖?
A:对实时性高的内容(如API响应),设置较短max-age
(如60秒)并启用must-revalidate
。
引用说明
本文方法参考自以下权威来源: