我在這裏提出了許多關於緩存的問題,但沒有人回答。所以mayby我會回答這個問題。Rails查詢緩存而不刷新元素更新
我在我的搜索模型這樣的代碼:
users = users.where('id >?', my_value)
Rails.cache.fetch('my_cached',expires_in: 3.minutes) do
users = users.order('current_sign_in_at DESC')
end
有人能解釋我這是什麼做的。我認爲這將返回排序的用戶表,並將其放入緩存中3分鐘,所以當我需要下一次搜索時,如果它未過期,它將返回my_cached結果。
但它不起作用。當某些用戶登錄和current_sign_in_at更改時 - 緩存被覆蓋並返回新查詢。
我想緩存在默認情況下是在發展模式中被禁用?這可能會有所幫助 - http://stackoverflow.com/questions/5636299/rails3-caching-in-development-mode-with-rails-cache-fetch?answertab=active#tab-top – house9