Ticket #52 (closed enhancement: fixed)

Opened 1 year ago

Last modified 3 days ago

Implement a DRY caching system

Reported by: bermi Assigned to: arnoschn
Priority: major Milestone: 1.0
Component: Cache Keywords:
Cc:

Description (Last modified by bermi)

Akelos uses PEAR Cache_Lite for caching blocks, but we can use Rails conventions for caching and implement:

Page Caching

This is the fastest way of caching.

Using mapped routes the cache for post/show/3 will be stored at public/cache/post/show/3.html. This methods requires sweepers to be implemented preferably at app/sweepers for cleaning up static pages.

Page caching should also offer the possibility of using public/cache/post/show/3.php and inserting custom code portions at the beginning of the file for sending the correct cache headers or running very fast PHP code without the overhead of starting the framework.

Action Caching

Same as before but starting Akelos and calling before filters. Mainly for authenticating before delivering the page.

Cache is stored at /tmp/cache/example.com/development/post/show/3.cache

Fragment Caching

Caches parts of the views.

ActiveRecord? Query Caching

We currently can do this using phpAdodb instance available at Model::_db, but making it easier would be great.

More details at the excellent Rails Caching tutorial at http://www.railsenvy.com/2007/3/20/ruby-on-rails-caching-tutorial-part-2, I really envy this guys for such a funny videos :P

Change History

09/19/07 09:02:54 changed by bermi

  • description changed.

07/08/08 12:37:41 changed by arnoschn

  • owner set to arnoschn.
  • status changed from new to assigned.

10/07/08 12:02:05 changed by arnoschn

  • status changed from assigned to closed.
  • resolution set to fixed.

Implemented in [1185]