0
這是我的數據結構。在mongodb中緩存父類
Foo
has_many: bar
Bar
belongs_to: Foo
我想寫的酒吧,將拔出只「精選」條目的緩存方法。
def self.get_featured
Rails.cache.fetch("featured", :expires_in => 1.day) do
self.where(:featured=>true)
end
end
這很有效。但是,顯示此數據的視圖還會調用信息,如 featured.foo.title
,它不會作爲.get_featured方法的一部分進行緩存。
每次我調用類似的東西時,數據庫會再次被觸發,每頁發生> 40次,從而導致數據庫崩潰。
問題,如何緩存過濾Bar和Foo信息的所有過濾記錄的酒吧?
我給它一個嘗試。謝謝! – Kirill
這似乎在自己的工作,但沒有爲我的東西設置的方式工作。該方法應該將數據拉入'@featured'變量,然後使用:collection =>'@featured'渲染部分。但是,我得到一個無法修改凍結對象的錯誤,當我嘗試。 我想知道是否因爲我已經查看這些對象的緩存。將嘗試不同的方法。 – Kirill