Methods
Instance Public methods
cache(&block)
Enable the query cache within the block if Active Record is configured. If it’s not, it will execute the given block.
📝 Source code
# File activerecord/lib/active_record/query_cache.rb, line 9
def cache(&block)
if connected? || !configurations.empty?
pool = connection_pool
was_enabled = pool.query_cache_enabled
begin
pool.enable_query_cache(&block)
ensure
pool.clear_query_cache unless was_enabled
end
else
yield
end
end
🔎 See on GitHub
uncached(dirties: true, &block)
Disable the query cache within the block if Active Record is configured. If it’s not, it will execute the given block.
Set dirties: false
to prevent query caches on all connections from being cleared by write operations. (By default, write operations dirty all connections’ query caches in case they are replicas whose cache would now be outdated.)
📝 Source code
# File activerecord/lib/active_record/query_cache.rb, line 28
def uncached(dirties: true, &block)
if connected? || !configurations.empty?
connection_pool.disable_query_cache(dirties: dirties, &block)
else
yield
end
end
🔎 See on GitHub