【问题标题】:Rails: control file store cache sizeRails:控制文件存储缓存大小
【发布时间】:2014-04-15 12:55:23
【问题描述】:

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

请注意,缓存会增长直到磁盘已满,除非您 定期清除旧条目。

不幸的是,它没有提供有关如何定期清除旧条目的任何信息。为:expires_in 设置一个适当的值是否可以完成这项工作,还是在清除缓存背后有其他某种黑魔法?

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

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

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

提前致谢, danjoo

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 caching


    【解决方案1】:

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

    达到此限制后,将不再缓存任何内容。不抛出异常。

    【讨论】:

      【解决方案2】:

      在使用 FileStore 缓存进行实验时,我发现 :expires_in 选项有效,但 :size 一个无效。

      如果要指定选项,则还需要指定路径,请尝试以下示例:

      config.cache_store = :file_store, Rails.root.join('tmp', 'cache'), { expires_in: 1.minute }

      将代码放入config/application.rb,记得激活config/environments/development.rb中的缓存并重启应用。

      附:我用 1 分钟轻松完成快速测试。

      【讨论】:

        猜你喜欢
        • 2016-08-28
        • 2012-07-28
        • 2014-03-09
        • 1970-01-01
        • 1970-01-01
        • 2020-09-23
        • 1970-01-01
        • 2015-01-07
        • 2019-07-28
        相关资源
        最近更新 更多