Most caching solutions in the Rails world involve something like Cache-Fu: an alternative API to ActiveRecord that explicitly annotates all call sites with cache rules.
User.find(1)
becomesUser.get_cache(1)
User.find(:all, ...)
becomesUser.get_cache("query_name", :ttl => 5.minutes) { User.find(:all, ... )}
I hate this kind of interface, which places the burden on the caller and meekly surrenders any attempt at encapsulation. Your codebase will be littered with haphazard cache rules in your controllers, views, and models.
This looks pretty awesome. Definitely going to investigate this some more.
Because manual cache expiry is not very fun. =)