V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
muzihuaner
V2EX  ›  分享创造

jsDelivr 缓存刷新小工具

  •  
  •   muzihuaner ·
    muzihuaner · 2021-08-17 16:56:14 +08:00 · 3106 次点击
    这是一个创建于 1198 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #说明 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

    大佬勿喷,我真的很菜😂

    10 条回复    2021-08-19 23:08:13 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-08-17 17:21:04 +08:00   ❤️ 1
    是那个 purge.jsdelivr.net ?我之前试过感觉有时有效有时无效,可能是开发时频繁 purge 被拉黑了?但 purge 接口返回都是成功,
    AoEiuV020
        2
    AoEiuV020  
       2021-08-17 17:24:16 +08:00   ❤️ 1
    看了下代码,你这,replace(/cdn/g, "purge")
    万一人家文件路径里有 cdn,你也一起替换了?
    Trim21
        3
    Trim21  
       2021-08-17 17:40:18 +08:00 via Android
    需要刷新的话应该在 jsdelivr 的文件路径里面加上 tag 或者 commit hash…
    XIU2
        4
    XIU2  
       2021-08-17 18:55:30 +08:00
    我想知道,有没有办法在 git push 后自动刷新相应文件 jsDelivr 缓存的方法?
    每次都要我手动刷新。。。
    muzihuaner
        5
    muzihuaner  
    OP
       2021-08-17 19:45:29 +08:00 via Android
    @AoEiuV020 哈哈哈,这个不知道怎么搞😂
    input2output
        6
    input2output  
       2021-08-17 19:48:24 +08:00
    @muzihuaner #5 正则替换
    yin1999
        7
    yin1999  
       2021-08-18 06:16:51 +08:00 via Android
    @XIU2 用 GitHub Action
    yunyuyuan
        8
    yunyuyuan  
       2021-08-18 09:12:33 +08:00
    我都是打 tag 刷新,用你这个还不如我手动访问 purge 呢
    qinxs
        9
    qinxs  
       2021-08-18 21:57:13 +08:00
    replace(/cdn/g, "purge")
    这个有点坑
    简单处理的话 可以使用 replace(/cdn.jsdelivr.net/g, "purge.jsdelivr.net")

    我把这个做成了 GitHub Action,结果发现 purge.jsdelivr.net 基本无效。。。
    仓库地址: https://github.com/qinxs/cdn-assets
    muzihuaner
        10
    muzihuaner  
    OP
       2021-08-19 23:08:13 +08:00 via Android
    @qinxs 好的,谢谢你的建议
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.