Included Modules

Class Index [+]

Quicksearch

ActionController::Caching

Caching is a cheap way of speeding up slow applications by keeping the result of calculations, renderings, and database calls around for subsequent requests. Action Controller affords you three approaches in varying levels of granularity: Page, Action, Fragment.

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

Note: To turn off all caching and sweeping, 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. This setting only affects action and fragment caching as page caching is always written to disk.

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 = :drb_store, "druby://localhost:9192"
  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

caching_allowed?() click to toggle source
    # File lib/action_controller/caching.rb, line 70
70:     def caching_allowed?
71:       request.get? && response.status == 200
72:     end

Protected Instance Methods

cache(key, options = {}, &block) click to toggle source

Convenience accessor

    # File lib/action_controller/caching.rb, line 76
76:     def cache(key, options = {}, &block)
77:       if cache_configured?
78:         cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block)
79:       else
80:         yield
81:       end
82:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.