惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
GbyAI
GbyAI
博客园_首页
V
Visual Studio Blog
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
腾讯CDC
博客园 - Franky
IT之家
IT之家
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

新锐博客

vscode连接cnb并推送仓库 - 新锐博客 twikoo不用token查询文章浏览量 - 新锐博客 基于Astro构建的支持对话与生图的Web应用 - 新锐博客 deepseek-v4-flash-0731使用体验 - 新锐博客 基元律动免费送68元额度 - 新锐博客 Linux更换软件源 - 新锐博客 华为鸿蒙7.0花粉beta版发布 - 新锐博客 使用测速脚本测一下服务器带宽 - 新锐博客 trae告别白嫖时代,auto也需排队了 - 新锐博客 流量不够用?大流量卡免费领 - 新锐博客 推荐一个免费在线图片处理网站 - 新锐博客 AI清理C盘的优缺点 - 新锐博客 twikoo不算bug的bug - 新锐博客 最近网站的一些变动 - 新锐博客 腾讯EO开始发多余套餐啦!速领 - 新锐博客 hi168停止对个人用户的运营 - 新锐博客 哪吒监控曝高危漏洞,请尽快升级 - 新锐博客 IndexDB实现大文件下载的思路 - 新锐博客 鱼鱼api使用教程 - 新锐博客 服务器安装Dokploy替代vercel - 新锐博客 对于近几年的电视剧的无力吐槽 - 新锐博客 关于网站被攻击的后续 - 新锐博客 使用sessionStorage给音乐播放进度存储 - 新锐博客 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 AI模型掺水?如何辨别真假? - 新锐博客 感谢一九云给我防住了攻击 - 新锐博客 对一些新手使用AI编程的建议 - 新锐博客 用Navigation Timing API给博客添加上加载时间 - 新锐博客 使用 Astro 自建博客,从零开始鏖战 14 小时 - 新锐博客 网站收录急剧下降,趁此机会迁移站点 - 新锐博客
Edgeone标记过期和直接删除有何区别? - 新锐博客
莫忘 · 2026-05-19 · via 新锐博客

前言

今天在修改网站后,上传文件的时候。因为我是用脚本自动清理缓存的,所以Edgeone会自动将之前的文件标记过期。

而这就出现了一个问题,就是有些缓存并没有清除掉,如下图。

新网站

旧网站

明明已经更换了网站,但是因为缓存并没有清理掉,所以导致了用户访问到的是旧的网站。

那标记过期和直接删除有什么区别?

区别

标记过期(invalidate)

工作原理:

  • 将缓存标记为”已过期”状态,但不会立即删除
  • 用户下次访问时,EdgeOne 会向源站发送条件请求(携带 If-None-MatchIf-Modified-Since 头部)
  • 如果源站返回 304 Not Modified,则继续使用旧缓存
  • 如果源站返回 200,则拉取新内容并更新缓存

特点:

  • ✅ 对源站压力较小(可能不需要重新传输内容)
  • ❌ 生效有延迟(依赖用户访问触发)
  • ❌ 如果源站响应异常,可能继续返回旧内容
  • 适用于:内容更新不频繁、希望减少源站压力的场景

直接删除(delete)

工作原理:

  • 立即从 EdgeOne 节点删除缓存文件
  • 用户下次访问时,强制回源获取最新内容
  • 不校验缓存是否过期,直接删除

特点:

  • ✅ 立即生效,确保用户获取最新内容
  • ✅ 不受源站 304 响应影响
  • ❌ 对源站压力较大(所有请求都回源)
  • 适用于:网站改版、紧急更新、需要立即生效的场景

对比总结

特性标记过期(invalidate)直接删除(delete)
生效速度较慢(需用户触发)立即生效
源站压力较小较大
缓存处理标记为过期立即删除
回源行为条件请求(可能 304)强制回源(200)
适用场景常规更新紧急更新、改版

为什么我之前遇到问题?

因为我使用的是 标记过期 方式,当源站响应异常或返回 304 时,EdgeOne 会继续使用旧的缓存,导致用户看到旧版网站。

解决方案

如果你和我一样用的脚本来清理缓存,那么你需要在脚本中添加一个参数:Method

const params = {
  "ZoneId": "zone-xxx",
  "Type": "purge_host",
  "Method": "delete",  // 直接删除
  "Targets": ["blog.xrbk.cn"]
};

建议

  • 常规内容更新:使用标记过期,减少对源站的压力
  • 网站改版/紧急修复:使用直接删除,确保用户立即看到新内容
  • 自动化部署脚本:建议配置为直接删除,避免缓存不一致问题

莫忘

君子喻以义,小人喻以利

本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 新锐博客