====== How to Use Caching in Rails ====== In and by itself, caching is not very difficult in Rails. The most immediately useful type of caching is action caching (because you can combine it with authentication). You can just use call ''caches_action'' in your controller file, giving the action to be cached as an arugment: class GuestsController < ApplicationController caches_action :show ## ... Other controller code ... end Now, if you've got your ''config/environments/development.rb'' set to: config.action_controller.perform_caching = true - the screen for the ''show'' action will be cached immediately, once you've restarted your webserver. To empty the cache, use a sweeper: class GuestSweeper < ActionController::Caching::Sweeper observe Guest def after_update(guest) expire_action :controller => :show, :action => :show end end And call the sweeper in your controller: class GuestsController < ApplicationController caches_action :show cache_sweeper :guest_sweeper ## ... Other controller code ... end There are more ways to cache a cat, erm, page, however. Please take a look at Gregg Pollack's excellent series of screencasts on [[http://railslab.newrelic.com/scaling-rails|Scaling Rails]].