Spec-Zone.ru › Ruby on Rails 4.2

модуль ActionController::Caching

Включенные модули:
ActionController::RackDelegation, AbstractController::Callbacks, ActionController::Caching::ConfigMethods, ActionController::Caching::Fragments

Кэширование — это недорогой способ ускорить медленные приложения, сохраняя результаты вычислений, рендеринга и обращений к базе данных для последующих запросов.

Вы можете узнать больше о каждом подходе, нажав на модули ниже.

Примечание: чтобы отключить все кэширование, установите

config.action_controller.perform_caching = false

Хранилища кэша

Все хранилища кэша из ActiveSupport::Cache доступны для использования в качестве бэкэндов для кэширования Action Controller.

Примеры конфигурации (FileStore — значение по умолчанию):

config.action_controller.cache_store = :memory_store
config.action_controller.cache_store = :file_store, '/path/to/cache/directory'
config.action_controller.cache_store = :mem_cache_store, 'localhost'
config.action_controller.cache_store = :mem_cache_store, Memcached::Rails.new('localhost:11211')
config.action_controller.cache_store = MyOwnStore.new('parameter')

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

view_cache_dependencies() Показать исходный код
# File actionpack/lib/action_controller/caching.rb, line 75
def view_cache_dependencies
  self.class._view_cache_dependencies.map { |dep| instance_exec(&dep) }.compact
end

Защищённые методы экземпляра

cache(key, options = {}) { || ... } Показать исходный код
# File actionpack/lib/action_controller/caching.rb, line 81
def cache(key, options = {}, &block)
  if cache_configured?
    cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block)
  else
    yield
  end
end

Удобный метод доступа.

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

Spec-Zone.ru

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