SQL 快取
查詢快取是一種 Rails
功能,可以快取每個查詢返回的結果集。如果 Rails
再次遇到該請求的相同查詢,它將使用快取的結果集,而不是再次對資料庫執行查詢。
例如:
class ProductsController < ApplicationController
def index
# Run a find query
@products = Product.all
...
# Run the same query again
@products = Product.all
end
end
第二次對資料庫執行相同的查詢,它實際上不會命中資料庫。第一次從查詢返回結果時,它將儲存在查詢快取中(在記憶體中),第二次從記憶體中提取。
但是,重要的是要注意查詢快取是在操作開始時建立的,並在該操作結束時銷燬,因此僅在操作持續時間內持續存在。如果你希望以更持久的方式儲存查詢結果,則可以使用低階快取。