Mar*_*ske 16 activerecord caching ruby-on-rails-3
在开发中,以下(简化)语句始终记录缓存未命中,在生产中它按预期工作:
@categories = Rails.cache.fetch("categories", :expires_in => 5.minutes) do
Rails.logger.info "+++ Cache missed +++"
Category.all
end
Run Code Online (Sandbox Code Playgroud)
如果我在config/development.rb中将config.cache_classes从false更改为true,那么它在开发模式下也可以正常工作,但这会使开发变得相当痛苦.是否有任何配置设置,config.cache_classes = false除了Rails.cache.fetch是否可以从缓存中获取?
ms-*_*ati 32
尝试将以下内容放在/config/environments/development.rb中:
# Temporarily enable caching in development (COMMENT OUT WHEN DONE!)
config.action_controller.perform_caching = true
Run Code Online (Sandbox Code Playgroud)
此外,如果缓存存储配置位于/config/environments/production.rb中,则还需要将相应的行复制到development.rb中.例如,如果您的缓存存储是Dalli memcache gem:
# copied from production.rb into development.rb for caching in development
config.cache_store = :dalli_store, '127.0.0.1'
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
15339 次 |
| 最近记录: |