使用perform_caching防止缓存未命中警告

时间:2012-02-19 20:57:34

标签: ruby-on-rails caching memcached

我正在试验我的Rails 3.2应用程序中的缓存并通过将其添加到我的development.rb文件中启用缓存:

config.action_controller.perform_caching = true

缓存按预期工作,除了当我加载任何页面时,控制台显示大量这些日志条目:

Completed 200 OK in 1006ms (Views: 249.2ms)
cache: [GET /assets/jquery_ujs.js?body=1] miss
cache: [GET /assets/chosen.jquery.min.js?body=1] miss
cache: [GET /assets/bootstrap/bootstrap-tooltip.js?body=1] miss
cache: [GET /assets/bootstrap/tabs.js?body=1] miss
cache: [GET /assets/jquery-ui.js?body=1] miss
cache: [GET /assets/jquery.notifications-1.1.js?body=1] miss
cache: [GET /assets/jquery.js?body=1] miss
cache: [GET /assets/jquery.tablesorter.min.js?body=1] miss
cache: [GET /assets/spin.js?body=1] miss
cache: [GET /assets/olark.js?body=1] miss
cache: [GET /assets/simplemodal/basic.js?body=1] miss
cache: [GET /assets/simplemodal/jquery.simplemodal.js?body=1] miss
cache: [GET /assets/vendor_application.js?body=1] miss
cache: [GET /assets/scrollto.jquery.min.js?body=1] miss
cache: [GET /assets/bootstrap.css?body=1] miss
cache: [GET /assets/scroller.jquery.js?body=1] miss
cache: [GET /assets/application.js?body=1] miss
cache: [GET /assets/application.css?body=1] miss
cache: [GET /assets/simplemodal.css?body=1] miss
cache: [GET /assets/connections.js?body=1] miss

我应该担心这些缓存未命中吗?有没有办法解决这个问题/让他们保持沉默?

我正在使用资产管道并使用dalli进行memcached。

2 个答案:

答案 0 :(得分:1)

Dalli的最新版本(2.0.3之后)可能会解决此问题。请参阅:https://github.com/mperham/dalli/issues/207

Mike's commit今天增加了沉默!方法。您需要在初始值设定项上设置Rails.cache.silence!才能生效。

您可以更新您的gemfile以从Github获取最新的Dalli代码或等待下一版Dalli gem发布。

答案 1 :(得分:0)

这是rack-rache的一项功能,您可以像这样禁用机架缓存:

config.action_dispatch.rack_cache = false

Rails问题:https://github.com/rails/rails/issues/7581