0

我将 ImageResizer 用作 Azure webapp,其服务计划具有 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 的高级计划过于昂贵,无法证明其成本是合理的。

谢谢

4

1 回答 1

1

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

...但是,如果您的缓存“很快”填满(如 1-3 天),那么随着磁盘写入队列的飙升,您可能会遇到严重的缓存流失和性能不佳的情况。

如果您无法获得存储空间,例如 10 天的缓存文件,您可能会考虑使用 CDN。

于 2016-11-09T02:56:12.993 回答