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')
Namespace
Methods
C
P
V
Included Modules
Class Public methods
page_cache_extension()
# File actionpack/lib/action_controller/caching.rb, line 66
def self.page_cache_extension
  ActiveSupport::Deprecation.deprecation_warning(:page_cache_extension, :default_static_extension)
  default_static_extension
end
page_cache_extension=(extension)
# File actionpack/lib/action_controller/caching.rb, line 61
def self.page_cache_extension=(extension)
  ActiveSupport::Deprecation.deprecation_warning(:page_cache_extension, :default_static_extension)
  self.default_static_extension = extension
end
Instance Public methods
view_cache_dependencies()
# File actionpack/lib/action_controller/caching.rb, line 85
def view_cache_dependencies
  self.class._view_cache_dependencies.map { |dep| instance_exec(&dep) }.compact
end
Instance Protected methods
cache(key, options = {}, &block)

Convenience accessor.

# File actionpack/lib/action_controller/caching.rb, line 91
def cache(key, options = {}, &block)
  if cache_configured?
    cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block)
  else
    yield
  end
end