【发布时间】:2015-05-22 17:18:38
【问题描述】:
根据Rails Guides:
查询缓存是 Rails 的一项功能,用于缓存返回的结果集 通过每个查询,这样如果 Rails 再次遇到相同的查询 该请求,它将使用缓存的结果集而不是运行 再次查询数据库。
接下来是一个在控制器的操作中执行相同查询的示例:
class ProductsController < ApplicationController
def index
# Run a find query
@products = Product.all
...
# Run the same query again
@products = Product.all
end
end
在几个地方的视图布局中,我调用Category.pluck(:id)。在开发日志中,我多次看到这一行:
SELECT "categories"."id" FROM "categories"
即使我将其设置为:config.action_controller.perform_caching = true 用于开发也会发生这种情况。为什么会这样?
【问题讨论】:
标签: sql ruby-on-rails caching activerecord