在开发中,以下(简化的)语句始终记录缓存未命中,在生产中,它按预期工作:
@categories = Rails.cache.fetch("categories", :expires_in => 5.minutes) do
Rails.logger.info "+++ Cache missed +++"
Category.all
end
如果我在config/development.rb中将config.cache_classes从false更改为true,它在开发模式下也能正常工作,但是这会使开发相当痛苦。除了Rails.cache.fetch在可能的情况下从缓存中获取之外,是否有任何类似于config.cache_classes = false
的配置设置?
发布于 2011-05-05 03:55:54
尝试将以下内容放在/config/environments/development.rb中
# Temporarily enable caching in development (COMMENT OUT WHEN DONE!)
config.action_controller.perform_caching = true
此外,如果您的缓存存储配置是在/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'
希望这能有所帮助。
https://stackoverflow.com/questions/5636299
复制相似问题