forked from defunkt/cache_fu
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
48 lines (29 loc) · 1.34 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
== cache_fu
A rewrite of acts_as_cached.
== Changes from Chis Wanstrath's Repo (2008-06-29) Rohith Ravi (entombedvirus [at] gmail)
- Extended the work of kykim (http://github.com/kykim/cache_fu/tree) to support cached associations.
- When User.has_many_cached :cats, you can now call user.cached_cats to retrieve a copy of the user's cats, while caching the cat
id list to memcache.
- When individual cat objects are saved/destroyed, corresponding user's cache is updated so that cached associations won't be stale.
- has_many :through relationships are also supported. For example: When a User.has_many_cached :cats, :through => :ownerships,
Saving and destroying Ownership objects will update the corresponding User's cache.
- Similarly, has_one_cached and belongs_to_cached is also supported.
== Usage
class User < ActiveRecord::Base
has_many_cached :cats
end
class Cat < ActiveRecord::Base
belongs_to_cached :user
end
./script/console
>> u = User.find(:first)
>> u.cached_cats
>> u.cached_cats.first.cached_user
== Changes from acts_as_cached 1
- You can no longer set a 'ttl' method on a class. Instead,
pass :ttl to acts_as_cached:
>> acts_as_cached :ttl => 15.minutes
- The is_cached? method is aliased as cached?
- set_cache on an instance can take a ttl
>> @story.set_cache(15.days)
Chris Wanstrath [ chris[at]ozmm[dot]org ]