Ruby on rails Rails:控制文件存储缓存大小
rails中基于文件的缓存的文档说明: 请注意,除非执行以下操作,否则缓存将一直增长,直到磁盘已满 定期清除旧条目 不幸的是,它没有提供任何关于如何定期清除旧条目的信息。在中为Ruby on rails Rails:控制文件存储缓存大小,ruby-on-rails,ruby,ruby-on-rails-3,caching,Ruby On Rails,Ruby,Ruby On Rails 3,Caching,rails中基于文件的缓存的文档说明: 请注意,除非执行以下操作,否则缓存将一直增长,直到磁盘已满 定期清除旧条目 不幸的是,它没有提供任何关于如何定期清除旧条目的信息。在中为:expires\u设置一个合适的值是否可以完成这项工作,或者在清除缓存之后是否存在其他类型的黑魔法 此外,文档还提供了一个选项来限制基于内存的缓存的大小: config.cache_store = :memory_store, { size: 64.megabytes } 这是否也适用于基于文件的缓存?更重要的是,当缓
:expires\u设置一个合适的值是否可以完成这项工作,或者在清除缓存之后是否存在其他类型的黑魔法
此外,文档还提供了一个选项来限制基于内存的缓存的大小:
config.cache_store = :memory_store, { size: 64.megabytes }
这是否也适用于基于文件的缓存?更重要的是,当缓存增长到该大小限制以下时会发生什么?它是删除旧的缓存值还是抛出某种异常
提前感谢,,
danijoo是,该限制也适用于基于文件的缓存。是的,
中的expires\u的值将执行此任务
当达到此限制时,将不再缓存其他内容。没有引发异常。在试验文件存储缓存时,我发现选项中的
:expires\u有效,但:size
一个无效
如果要指定选项,则还需要指定路径,请尝试以下示例:
config.cache\u store=:file\u store,Rails.root.join('tmp','cache'),{expires\u in:1.minute}
将代码放入config/application.rb
中,记住激活config/environments/development.rb中的缓存,然后重新启动应用程序
另外,我用1分钟轻松地做一个快速测试