当远程图像更改时,ImageResizer所服务的版本仍然是旧图像。如何解决这个问题最好?
Config非常简单,如下所示:
<diskCache dir="~/imagecache" autoClean="true" enabled="true" />
<remotereader signingKey="58h4E#O!VAiDwpYcIG!ERv74jSUs6L1!" allowAllSignedRequests="true" allowRedirects="5">
<allow domain="domain.com" />
<allow domain="*.domain1.com" />
<allow domain="*.domain2.com" />
<!-- XML whitelisting requires V3.2 or higher
<allow domain="*.imageresizing.net" onlyWhenSigned="true"/> -->
</remotereader>
答案 0 :(得分:1)
RemoteReader不会等待往返HTTP请求以查看图像是否过时;相反,为了提供可接受的性能,它要求修改面向客户端的URL以执行任何失效。
向网址添加任何,比如&imagever=2
等,将导致重新请求和缓存。
您可以在不更改URL的情况下使缓存文件无效吗? 否即可。如果后端是高延迟,则不会。
我们的许多提供商(不包括remotereader)允许您启用自动失效 - 但这总是会带来太高的性能成本。如果您涉及侵略性浏览器或CDN,则更改URL是唯一的高性能解决方案 - 通常只有 解决方案。