有没有办法在全局范围内关闭Rails的SQL查询缓存?或者,至少,当我进入交易区块时不使用它?
另外,sql查询缓存是仅适用于控制器操作,还是应用于我编写的包含Rails的任务或后台守护进程并使用我的模型?
答案 0 :(得分:17)
知道了!在application.rb中:
config.middleware.delete ActiveRecord::QueryCache
答案 1 :(得分:2)
在Rails 5中,我们可以使用给定的功能作为中间件来禁用活动记录查询缓存。
在application_controller.rb中添加给定的代码。
around_action :disable_query_cache
def disable_active_record_query_cache
ActiveRecord::Base.uncached do
yield
end
end