0
我可能在這裏丟失了一些非常簡單的東西,但不明白是什麼。在rails中查詢緩存仍然對數據庫運行調用
我試圖緩存一個簡單的活動記錄查詢,但每次觸摸緩存時,都會再次對數據庫運行查詢。
控制器代碼:
products = Rails.cache.read("search_results")
if products
render :text => products[0].id
else
products = Product.where('name LIKE ?", 'product_name?')
Rails.cache.write("search_results", products)
end
我可以看到,在我的第二個電話,我得到的,如果塊,而不是其他人,而是任何我想要去觸摸產品(如渲染它)時我也查看對數據庫的有效記錄調用。
我錯過了什麼?
不是答案,但考慮使用['fetch'](http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-i-fetch)而不是自己讀寫。 – x1a4 2012-07-30 02:30:52