Google云平台上的图片提供网址列出了没有过期或存储详情: https://cloud.google.com/appengine/docs/go/images/reference#ServingURL - 此文档尚不清楚。图像是临时存储在CDN上还是其他东西,或者它是否无限期地存储在项目的Blobstore中,我们是否支付了多倍的存储空间?或者,URL是否在设定的时间后过期,并且图像的大小被丢弃了?
我问的原因是因为我听说调用此函数会增加延迟,我想确保在可能的情况下缓存响应,如果是这样的话。但是,如果有的话,我需要知道缓存到期点。如果有的话。
任何帮助或澄清将不胜感激。
答案 0 :(得分:3)
定价和缓存
这描述得更好here:
您只需在Blobstore中存储原始图像的单个副本,然后请求高性能的每个图像网址。
正如Paul在评论中所说,您只需支付Blobstore中原始图像的1份副本的存储空间,以及服务时的正常带宽费用。当您创建以不同尺寸投放图片的网址时,Google是否会以该尺寸缓存图片副本是由Google自行决定的;无论哪种方式,您仍然只需支付原始图像的原始图像存储费用。
我已经看到报告称,在删除原始图片后,提供网址可能会工作数天,因此很明显Google有时会进行一些缓存,但这些细节未指定,可能会逐个更改。
<强>过期强>
除非您明确删除网址或原始图片,否则网址永不过期。
无论您是将图像存储在Cloud Storage还是Blobstore中,停止通过服务URL公开访问图像的正确方法是调用
image.DeleteServingURL
函数。
<强>性能强>
我无法评论通过提供调整大小的图像副本可以添加多少延迟。我认为答案是&#34;不足以关心&#34;,但我再也不知道。如果您尝试并发现添加的延迟是不可接受的,您可以尝试创建多个版本的图像以自己存储在Blobstore中,以自然尺寸提供服务。我不知道这是否会提高性能。在这种情况下,你当然会支付存储每份副本的费用。我建议不要担心,除非你认为它成为一个问题。
图像以高度优化的无cookie基础设施提供低延迟。
所以我怀疑你可以通过自己更多地优化它来获得很多的好处。