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.
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')
# File 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
# File 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
# File lib/action_controller/caching.rb, line 85 def view_cache_dependencies self.class._view_cache_dependencies.map { |dep| instance_exec(&dep) }.compact end
Convenience accessor.
# File 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