微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Cloud Storage:使新文件上传的缓存无效

如何解决Google Cloud Storage:使新文件上传的缓存无效

我有一个标记为公开的 Google Cloud Storage (GCS) 存储分区。我使用 v4 签名 URL 将图像上传到这个公共存储桶。我可以通过 HTTP 标头看到 GCS 缓存图像长达 1 小时。但是,当我上传相同图像的较新版本(具有相同的文件名)时,GCS 不会使缓存无效并且仍然提供这些图像的旧版本。当这些图像的较新版本上传到 GCS 时,如何确保缓存失效?必须使用 v4 签名网址。

解决方法

据我了解,GCS 不会缓存您的图像,而是设置默认缓存策略,稍后由本地浏览器或互联网缓存使用。

公共 GCS 存储桶的默认策略(称为“内置缓存”)确实是 3600 秒 (reference)。

因此,如果政策设置为 1 小时,如果本地浏览器(或其他具有缓存的功能)将获取此类文件,它将在该时间内提供服务(请查看 this 文章)。

如果我理解正确,要求是在新版本上传到 GCS 时强制缓存上传数据。不幸的是,这似乎是不可能的,因为缓存不在 GCS 中,而是在用户的本地浏览器或互联网中的某个地方,不受 GCS 控制。

在这一点上,我认为您必须决定是否要将对象设置为根本不缓存,然后将立即下载新的对象版本并带来所有相关后果(应用程序性能、GCS 使用价格等)或接受对于某些应用程序将提供旧版本的内容。

要为 GCS 设置 cache-control,请参阅此 link。也检查 performance consideration

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。