2013-04-29 67 views
0

我使用redis_store来缓存查询。在开发日志中,我看不到缓存的查询,它再次击中数据库并获取记录,但在我的redis控制台中,我可以看到我的密钥已经用于缓存查询。我在rails控制台中测试了使用keys来读取查询。我可以得到缓存的查询。帮助我解决这个问题。Rails查询缓存不起作用

在我的模型

Category = Rails.cache.fetch("category") {Category.select(:foo).unique} 

在Redis的

redis 127.0.0.1:6379> KEYS * 
"category" 

在轨控制台

Rails.cache.read("category") 

回答

0

这条线暂时添加到/config/environments/development.rb

config.action_controller.perform_caching = true 

当你完成后,不要忘记删除它!

+0

是的,它已经是真的。我在同一个应用程序中使用缓存动作,但它工作正常。 – Mano 2013-04-29 12:23:53

0

你不应该在开发中缓存,所以@megas说的是真实的,你应该进行测试来检查缓存是否正常工作,并且在你的测试环境中,你可以将config.action_controller.perform_caching更改为true。