gpt4 book ai didi

google-cloud-platform - 存储桶文件更改后,如何清除静态 Cloud Storage 网站上的缓存?

转载 作者:行者123 更新时间:2023-12-05 00:56:49 28 4
gpt4 key购买 nike

我有一个通过 Google Cloud 提供服务的静态网站。这是通过将静态文件存储在可公开访问的存储桶中并将该存储桶用作 HTTPS 负载均衡器的后端来完成的。 (未选择负载均衡器的 CDN 选项。)

网站加载正常,但我的问题是,当我更新存储桶内容时,这些更改需要花费不可预测的时间才能反射(reflect)在浏览器中。我正在明确刷新,我也在尝试在 Chrome 控制台打开时尝试在“网络”选项卡中选择“禁用缓存”。

我已通过导航到相关 javascript 文件的 Cloud Storage 中的“对象详细信息”页面并访问提供的“链接 URL”来确保存储桶代码实际上已更新。我为我的更改而grep它,我看到了它们。然后我访问我的网站,查看源代码,在新选项卡中打开链接的 js 文件,用 grep 查找我的更改,但看不到它们。所以它们在存储桶中,但被缓存在某个地方。

我不确定我遇到的缓存是发生在浏览器中还是发生在 Google Cloud 的某个层中。但是我怎样才能做到当我更改存储桶内容时,我可以立即在浏览器中看到这些更改?如何确保在每次存储桶更新后清除缓存(无论发生在何处)?

最佳答案

这里是the documentation 的摘录:

Note also that because objects can be cached at various places on the Internet there is no way to force a cached object to expire globally (unlike the way you can force your browser to refresh its cache). If you want to prevent serving cached versions of publicly readable objects, set "Cache-Control:no-cache, max-age=0" on the object.

因此,如果您不想在更新存储桶时出现任何延迟,我建议您将文件的缓存 max-age 设置为 0。然而,这是在低服务延迟/低成本(更少的存储读取,更少的导出支付)和低更新延迟之间进行权衡。

一切都取决于您的用例!

关于google-cloud-platform - 存储桶文件更改后,如何清除静态 Cloud Storage 网站上的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61608092/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com