123456789_123456789_123456789_123456789_123456789_

Module: ActionController::Caching

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: actionpack/lib/action_controller/caching.rb

Overview

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 provided by Action Controller, 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 (FileStore 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')

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

append_features, prepend_features

Instance Method Summary

DSL Calls

included

[ GitHub ]


32
33
34
# File 'actionpack/lib/action_controller/caching.rb', line 32

included do
  include AbstractController::Caching
end

Instance Method Details

#instrument_name (private)

[ GitHub ]

  
# File 'actionpack/lib/action_controller/caching.rb', line 45

def instrument_name
  "action_controller"
end

#instrument_payload(key) (private)

[ GitHub ]

  
# File 'actionpack/lib/action_controller/caching.rb', line 37

def instrument_payload(key)
  {
    controller: controller_name,
    action: action_name,
    key: key
  }
end