问题
Is there any way to turn off Rails' SQL query caching globally? Or, at the very least, not use it when i enter a transaction block?
Also, does sql query caching only apply to controller actions, or also to rake tasks or background daemons that i write that include Rails and use my models?
回答1:
In Rails 5 we can disable active record query cache using the given function as a middleware.
In application_controller.rb add the given code.
around_action :disable_query_cache
def disable_active_record_query_cache
ActiveRecord::Base.uncached do
yield
end
end
回答2:
Got it! In application.rb:
config.middleware.delete ActiveRecord::QueryCache
来源:https://stackoverflow.com/questions/20366262/disabling-rails-sql-query-caching-globally