全局禁用Rails SQL查询缓存

时间:2013-12-04 03:30:41

标签: ruby-on-rails ruby-on-rails-3 activerecord

有没有办法在全局范围内关闭Rails的SQL查询缓存?或者,至少,当我进入交易区块时不使用它?

另外,sql查询缓存是仅适用于控制器操作,还是应用于我编写的包含Rails的任务或后台守护进程并使用我的模型?

2 个答案:

答案 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