cache_fu
çºè¦ããã
ããã§ãActiveRecordã®ãã£ãã·ã¥ãã§ãã
ç°å¢è¨å®ã§ã¡ã¨ã¦ããã£ãã®ã§ãè¦æ¸ã
å
ã«ç´¹ä»ããpuppyç°å¢ã§ãã£ã¦ã¿ãã
- cache_fuã®ãã¦ã³ãã¼ãã
http://github.com/defunkt/cache_fu/tree/master
âãããã¦ã³ãã¼ãã
git clone ã³ãã³ãã§è½ã¨ããã¨æããã ãã©ã
é¢åã ã£ãã®ã§ãdownloadããè½ã¨ããã
è§£åãã¦ãvendor/plugins以ä¸ã«é
ç½®ããã°OKã
- memcached.ymlãã³ãã¼
defaults/memcached.yml.defaultãRAILS_ROOT/config以ä¸ã«
memcached.ymlã¨ãã¦ã³ãã¼
ä¸èº«ã¯ããããªãã¦ãã¨ããããã¯åãã®ã§æ¾ç½®ã
- memcache-clientã®ã¤ã³ã¹ãã¼ã«
gem install memcache-client
- libeventãã¤ã³ã¹ãã¼ã«
memcachedãä¾åãã¦ããã®ã§ãããã¤ãå
ã«ã¤ã³ã¹ãã¼ã«
http://www.monkey.org/~provos/libevent/
âãããã¦ã³ãã¼ãããææ°çã§OKã
ãã¨ã¯ãè§£åãã¦
./configure
make
make install
- memcachedãã¤ã³ã¹ãã¼ã«
http://danga.com/memcached/download.bml
âãããã¦ã³ãã¼ãããææ°çã§OK.
ãã¨ã¯ãè§£åãã¦
./configure
make
make install
- memcachedã®ç°å¢è¨å®
.bachrcã«
export LD_LIBRARY_PATH=/usr/local/lib/
ã追å ããã
ln -s /usr/local/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
ãå®è¡ã
memcached -u root
ãå®è¡ããã¨ã©ã¼ãåºãªããã°OKã
- memcachedããã¼ã¢ã³èµ·å
memcached -d -p 11211 -u root
cache_fuã®ä¸ã«èµ·åã¹ã¯ãªããããããã ãã©ãã©ãããã¾ãèµ·åã§ããªãã®ã§ãæä½æ¥ã§èµ·åããã
- 確èªãã¦ã¿ã
script/generate scaffold User name:string pass:stirng
rake db:migrate
app/models/user.rbãç·¨é
classã
acts_as_cached :ttl => 10.minutes
def self.find_all
return self.get_cache(:find_all) do
self.find(:all)
end
end
ã»ã»ã»
app/controllers/user_controller.rbã®indexã¡ã½ãããä¿®æ£
#@user = User.find(:all)
@user = User.find_all
ãã¨ã¯ãµã¼ããèµ·åãã¦ãããã
ä¸è¦§ç»é¢ãåºãã°å®äºï¼
ãããã«ã¦ã¼ã¶ã追å ããã¨ãããï¼ä¸è¦§ã«ã¯åºãªãã
ãã£ãã·ã¥æéã10åã«æå®ãã¦ããã®ã§ã10åå¾ã«ã¢ã¯ã»ã¹ããã¨ã追å ããã¦ã¼ã¶ãåºãããã«ãªãã¾ãã