ActionController::Caching

module ActionController::Caching

Included modules:
ActionController::RackDelegation, AbstractController::Callbacks, ActionController::Caching::ConfigMethods, ActionController::Caching::Fragments

Caching is a cheap way of speeding up slow applications by keeping the result of calculations, renderings, and database calls around for subsequent requests.

You can read more about each approach by clicking the modules below.

Note: To turn off all caching, set

config.action_controller.perform_caching = false

Caching stores

All the caching stores from ActiveSupport::Cache are available to be used as backends for Action Controller caching.

Configuration examples (MemoryStore is the default):

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')

Public Instance Methods

view_cache_dependencies() Show source
# 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

Protected Instance Methods

cache(key, options = {}) { || ... } Show source

Convenience accessor.

# 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–2016 David Heinemeier Hansson
Licensed under the MIT License.

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部