#说明 jsDelivr 提供的全球 CDN 加速,CDN 的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果 CDN 节点上数据没有及时更新,即便用户再浏览器使用 Ctrl +F5 的方式使浏览器端的缓存失效,也会因为 CDN 边缘节点没有同步最新数据而导致用户端未能及时更新。
CDN 边缘节点对开发者是透明的,相比于浏览器 Ctrl+F5 的强制刷新来使浏览器本地缓存失效,开发者可以通过 CDN 服务商提供的“刷新缓存”接口来达到清理 CDN 边缘节点缓存的目的。这样开发者在更新数据后,可以使用“刷新缓存”功能来强制 CDN 节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。
本工具基于该接口开发,你需要输入你想要刷新的 jsDelivr 链接,然后点击"刷新"即可,如不能刷新,可以多刷新几次
地址:
https://js-delivr-cdn-purge.vercel.app/
欢迎 Star https://github.com/muzihuaner/jsDelivrCDNpurge
大佬勿喷,我真的很菜😂
1
AoEiuV020 2021 年 8 月 17 日 是那个 purge.jsdelivr.net ?我之前试过感觉有时有效有时无效,可能是开发时频繁 purge 被拉黑了?但 purge 接口返回都是成功,
|
2
AoEiuV020 2021 年 8 月 17 日 看了下代码,你这,replace(/cdn/g, "purge")
万一人家文件路径里有 cdn,你也一起替换了? |
3
Trim21 2021 年 8 月 17 日 via Android
需要刷新的话应该在 jsdelivr 的文件路径里面加上 tag 或者 commit hash…
|
4
XIU2 2021 年 8 月 17 日
我想知道,有没有办法在 git push 后自动刷新相应文件 jsDelivr 缓存的方法?
每次都要我手动刷新。。。 |
5
muzihuaner OP @AoEiuV020 哈哈哈,这个不知道怎么搞😂
|
6
input2output 2021 年 8 月 17 日
@muzihuaner #5 正则替换
|
8
yunyuyuan 2021 年 8 月 18 日
我都是打 tag 刷新,用你这个还不如我手动访问 purge 呢
|
9
qinxs 2021 年 8 月 18 日
replace(/cdn/g, "purge")
这个有点坑 简单处理的话 可以使用 replace(/cdn.jsdelivr.net/g, "purge.jsdelivr.net") 我把这个做成了 GitHub Action,结果发现 purge.jsdelivr.net 基本无效。。。 仓库地址: https://github.com/qinxs/cdn-assets |
10
muzihuaner OP @qinxs 好的,谢谢你的建议
|