class MyModel < ActiveRecord::Base
acts_as_cached
after_save :expire_pages
Pages = 5
PageKey = "paginate_page_%d_per_page_5_etc"

def expire_pages
1.upto(Pages) do |page|
self.class.expire_cache(PageKey % page)
end
end

def self.cached_page(page)
page = page.to_i
return fetch_page(page) if page > Pages

get_cache(PageKey % page) do
fetch_page(page)
end
end

def self.fetch_page(page)
paginate(:page => page, :per_page => 5, blah)
end
end