【问题标题】:Google Cloud Storage: invalidate cache on new file uploads谷歌云存储:新文件上传时缓存无效
【发布时间】:2021-05-07 15:07:22
【问题描述】:

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

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2019-06-09
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 2018-06-16
      • 2019-03-19
      相关资源
      最近更新 更多