Spec-Zone.ru › Ruby on Rails 7.2

модуль ActiveRecord::QueryCache::ClassMethods

Публичные методы экземпляров

cache() { || ... } Показать исходный код
# 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

Включить кэширование запросов в блоке, если Active Record настроен. В противном случае выполнит заданный блок.

uncached(dirties: true) { || ... } Показать исходный код
# 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

Отключить кэширование запросов в блоке, если Active Record настроен. В противном случае выполнит заданный блок.

Установите dirties: false для предотвращения очистки кэшей запросов всех подключений операциями записи. (По умолчанию операции записи очищают кэши запросов всех подключений, если это реплики, кэш которых теперь устарел.)

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API