我最近刚从服务器上删除了数百万个缓存文件,价值约150GB。这需要花费数小时和大量资源。之前我从未擦过它们,因为我假设删除了无效的缓存文件。 Nginx是自动删除这些文件还是我应该定期运行脚本来自行删除它们?
答案 0 :(得分:0)
从阅读http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_path我会注意到缓存大小和内容是通过fastcgi_cache_path
指令的以下选项来管理的:
inactive
:“在无效参数指定的时间内未访问的缓存数据将从缓存中删除,无论其新鲜程度如何。默认情况下,非活动设置为10分钟。“因此,我认为使用默认设置,应删除在过去10分钟内未访问的所有文件; max_size
:“特殊缓存管理器进程监视 max_size
参数设置的最大缓存大小。超过此大小时,它会删除最少的最近使用的数据。“。我猜你根本没有设置max_size
限制。因此,对于大量具有较长到期时间的对象,您最终可能会获得相当大的缓存。