1

我正在使用 ImageResizer ( http://imageresizing.net/ ) 并且很好奇是否有人找到了清除特定项目缓存的方法?

这将极大地帮助我,因为我有一些需要获取更新图像的遗留系统,并且我无法将任何查询字符串参数添加到图像以刷新缓存。

4

1 回答 1

2

为了扩展到数百万个项目,DiskCache 不维护源文件和缓存图像之间的交叉引用表——而是使用结合源文件、修改日期和命令的单向哈希函数。

如果你想做失效,你的提供者需要通过 IVirtualFileWithModifiedDate 来支持它。每个请求的失效检查都会产生成本,因此建议使用某种形式的窗口缓存。

您还可以使用 URL 重写将“旧 URL”映射到新的不可变 URL。对于少量图像,这是最高效的方法。请记住,即使 ImageResizer 提供了正确的图像,也有其他缓存层(浏览器、代理等)会阻碍。

于 2015-03-05T16:54:24.847 回答