2013-04-29 116 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。