









今天在修改网站后,上传文件的时候。因为我是用脚本自动清理缓存的,所以Edgeone会自动将之前的文件标记过期。
而这就出现了一个问题,就是有些缓存并没有清除掉,如下图。


明明已经更换了网站,但是因为缓存并没有清理掉,所以导致了用户访问到的是旧的网站。
那标记过期和直接删除有什么区别?
工作原理:
If-None-Match 和 If-Modified-Since 头部)特点:
工作原理:
特点:
| 特性 | 标记过期(invalidate) | 直接删除(delete) |
|---|---|---|
| 生效速度 | 较慢(需用户触发) | 立即生效 |
| 源站压力 | 较小 | 较大 |
| 缓存处理 | 标记为过期 | 立即删除 |
| 回源行为 | 条件请求(可能 304) | 强制回源(200) |
| 适用场景 | 常规更新 | 紧急更新、改版 |
因为我使用的是 标记过期 方式,当源站响应异常或返回 304 时,EdgeOne 会继续使用旧的缓存,导致用户看到旧版网站。
如果你和我一样用的脚本来清理缓存,那么你需要在脚本中添加一个参数:Method
const params = {
"ZoneId": "zone-xxx",
"Type": "purge_host",
"Method": "delete", // 直接删除
"Targets": ["blog.xrbk.cn"]
};
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。