我使用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的高级计划太昂贵,无法证明其成本。
由于
答案 0 :(得分:1)
您不能按文件大小限制缓存,只能通过(非常)粗略计数。删除缓存并设置子文件夹=“256”应该保持在50GB以下,假设平均200kb成立。
...但是,如果你的缓存“快速”填满(如在1-3天内),那么你可能会遇到严重的缓存流失和糟糕的性能,因为你的磁盘写入队列会急剧上升。
如果您无法为10天的缓存文件获取存储空间,则可以考虑使用CDN。