1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

improvements to the page caching docs

This commit is contained in:
Jonathan Dance 2008-05-06 14:58:26 -04:00
parent 63e8bcaeb3
commit 284a930a93
2 changed files with 15 additions and 9 deletions

View file

@ -20,7 +20,8 @@ module ActionController #:nodoc:
# #
# == Caching stores # == Caching stores
# #
# All the caching stores from ActiveSupport::Cache is available to be used as backends for Action Controller caching. # All the caching stores from ActiveSupport::Cache is 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): # Configuration examples (MemoryStore is the default):
# #

View file

@ -4,10 +4,11 @@ require 'uri'
module ActionController #:nodoc: module ActionController #:nodoc:
module Caching module Caching
# Page caching is an approach to caching where the entire action output of is stored as a HTML file that the web server # Page caching is an approach to caching where the entire action output of is stored as a HTML file that the web server
# can serve without going through the Action Pack. This can be as much as 100 times faster than going through the process of dynamically # can serve without going through the Action Pack. This is the fastest way to cache your content as opposed to going dynamically
# generating the content. Unfortunately, this incredible speed-up is only available to stateless pages where all visitors # through the process of generating the content. Unfortunately, this incredible speed-up is only available to stateless pages
# are treated the same. Content management systems -- including weblogs and wikis -- have many pages that are a great fit # where all visitors are treated the same. Content management systems -- including weblogs and wikis -- have many pages that are
# for this approach, but account-based systems where people log in and manipulate their own data are often less likely candidates. # a great fit for this approach, but account-based systems where people log in and manipulate their own data are often less
# likely candidates.
# #
# Specifying which actions to cache is done through the <tt>caches</tt> class method: # Specifying which actions to cache is done through the <tt>caches</tt> class method:
# #
@ -15,7 +16,7 @@ module ActionController #:nodoc:
# caches_page :show, :new # caches_page :show, :new
# end # end
# #
# This will generate cache files such as weblog/show/5 and weblog/new, which match the URLs used to trigger the dynamic # This will generate cache files such as weblog/show/5.html and weblog/new.html, which match the URLs used to trigger the dynamic
# generation. This is how the web server is able pick up a cache file when it exists and otherwise let the request pass on to # generation. This is how the web server is able pick up a cache file when it exists and otherwise let the request pass on to
# the Action Pack to generate it. # the Action Pack to generate it.
# #
@ -36,12 +37,16 @@ module ActionController #:nodoc:
# == Setting the cache directory # == Setting the cache directory
# #
# The cache directory should be the document root for the web server and is set using Base.page_cache_directory = "/document/root". # The cache directory should be the document root for the web server and is set using Base.page_cache_directory = "/document/root".
# For Rails, this directory has already been set to Rails.public_path (which is usually set to RAILS_ROOT + "/public"). # For Rails, this directory has already been set to Rails.public_path (which is usually set to RAILS_ROOT + "/public"). Changing
# this setting can be useful to avoid naming conflicts with files in public/, but doing so will likely require configuring your
# web server to look in the new location for cached files.
# #
# == Setting the cache extension # == Setting the cache extension
# #
# By default, the cache extension is .html, which makes it easy for the cached files to be picked up by the web server. If you want # Most Rails requests do not have an extension, such as /weblog/new. In these cases, the page caching mechanism will add one in
# something else, like .php or .shtml, just set Base.page_cache_extension. # order to make it easy for the cached files to be picked up properly by the web server. By default, this cache extension is .html.
# If you want something else, like .php or .shtml, just set Base.page_cache_extension. In cases where a request already has an
# extension, such as .xml or .rss, page caching will not add an extension. This allows it to work well with RESTful apps.
module Pages module Pages
def self.included(base) #:nodoc: def self.included(base) #:nodoc:
base.extend(ClassMethods) base.extend(ClassMethods)