Imageresizer 缓存 azure 存储配额限制

Imageresizer cache azure storage quota limits

我将 ImageResizer 用作 Azure web 应用程序,其服务计划具有 50 Gb 的文件存储空间。我对 DiskCache 的设置是:

    <diskcache dir="~/imagecache" autoclean="true" hashModifiedDate="true" subfolders="1024" asyncWrites="true" asyncBufferSize="10485760" cacheAccessTimeout="15000" logging="true"/>

但这似乎并不能阻止 imagecache 文件夹很快达到 50 Gb 的限制。我在 blob 存储中有大约 100 Gb 的图像(原始大小),并非所有图像都会在同一天使用,但是可以多次使用不同的参数缓存相同的图像。缓存的图像平均约为 200Kb?

有没有办法阻止存储空间这么快填满?是否有更好的使用 DiskCache 的方法?还是用别的东西?具有 250Gb 和体面 CPU/RAM 的高级计划太贵了,无法证明为此付出的代价。

谢谢

您不能通过文件大小限制缓存,只能通过(非常)粗略的计数。假设 200kb 的平均值成立,删除缓存并设置 subfolders="256" 应该可以让您保持在 50GB 以下。

... 但是,如果您的缓存填满 "quickly"(如 1-3 天),那么您可能会在磁盘写入队列激增时遇到严重的缓存流失和性能不佳的情况。

如果您无法为例如 10 天的缓存文件获取存储空间 space,您可以考虑使用 CDN。