方法
实例公共方法
cache(&block) 链接
如果 Active Record 已配置,则在块中启用查询缓存。如果没有,它将执行给定的块。
来源:显示 | 在 GitHub 上
# 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
uncached(dirties: true, &block) 链接
如果 Active Record 已配置,则在块中禁用查询缓存。如果没有,它将执行给定的块。
设置 dirties: false
以防止所有连接上的查询缓存被写入操作清除。(默认情况下,写入操作会弄脏所有连接的查询缓存,以防它们是其缓存现在已过时的副本。)
来源:显示 | 在 GitHub 上
# 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