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
第二次对数据库运行相同的查询,它实际上不会命中数据库。第一次从查询返回结果时,它将存储在查询缓存中(在内存中),第二次从内存中提取。
但是,重要的是要注意查询缓存是在操作开始时创建的,并在该操作结束时销毁,因此仅在操作持续时间内持续存在。如果你希望以更持久的方式存储查询结果,则可以使用低级缓存。