控制文件存储缓存大小



rails中基于文件的缓存的文档说:

请注意,缓存将一直增长,直到磁盘满为止定期清理旧条目。

遗憾的是,它没有给出任何关于如何定期清除旧条目的信息。为:expires_in设置适当的值是否可以完成这项工作,或者在清除缓存的背后是否存在其他类型的黑魔法?

此外,文档还提供了一个选项来限制基于内存的缓存的大小:

config.cache_store = :memory_store, { size: 64.megabytes }

这也适用于基于文件的缓存吗?更重要的是,当缓存增长到小于这个大小限制时会发生什么?它会删除旧的缓存值还是会抛出某种异常?

提前感谢,danijoo

试验FileStore缓存我发现:expires_in选项工作,但:size一个不。

如果你想指定选项,那么你还需要指定路径,试着用下面的例子:

配置。cache_store =:file_store, Rails.root。Join ('tmp', 'cache'), {expires_in: 1。分钟}

将代码放在config/application.rb中,并记住在config/environments/development.rb中激活缓存并重新启动应用程序。

注:我用1分钟轻松做了一个快速测试。

此限制也适用于基于文件的缓存。 :expires_in的值将完成这项工作。

当达到这个限制时,不再缓存任何东西。

最新更新