How to make use of a fragment cache

  1. Download & install libevent (memcached dependency)
  2. Create a symlink to libevent
  3. Download & install memcached
  4. Run memcached as a daemon
  5. Insert beginCache()/endCache() statement in front of/after the widget.

According to the manual http://jp.php.net/manual/en/memcache.installation.php;

Download & install libevent (memcached dependency)

$ wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
$ tar xfz libevent-1.4.8-stable.tar.gz
$ cd libevent-1.4.8-stable
$ ./configure && make && sudo make install

Create a symlink to libevent

$ sudo ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib

Download & install memcached

$ wget http://danga.com/memcached/dist/memcached-1.2.6.tar.gz
$ tar xfz memcached-1.2.6.tar.gz
$ cd memcached-1.2.6
$ ./configure && make && sudo make install

Run memcached as a daemon

$ memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211

Configure cache application component in the configure file (protected/config/main.php).

'cache'=>array(
 'class'=>'system.caching.CMemCache',
 'servers'=>array(
            array('host'=>'localhost', 'port'=>11211, 'weight'=>60),
     ),
),

Insert beginCache()/endCache() statement in front of/after the widget.

<?php if($this->beginCache('tagCloud', array('duration'=>60))) { ?>
<?php $this->widget('TagCloud'); ?>
<?php $this->endCache(); } ?>

<?php if($this->beginCache('RecentPosts', array('duration'=>60))) { ?>
<?php $this->widget('RecentPosts'); ?>
<?php $this->endCache(); } ?>

<?php if($this->beginCache('RecentComments', array('duration'=>60))) { ?>
<?php $this->widget('RecentComments'); ?>
<?php $this->endCache(); } ?>

Note: Please be careful to use the cache, because it increases the performance of the application, but decreases the interactivity.

1 0
2 followers
Viewed: 17 983 times
Version: 1.1
Category: Tutorials
Written by: dalip
Last updated by: wei
Created on: Feb 21, 2009
Last updated: 14 years ago
Update Article

Revisions

View all history

Related Articles