Revision #7 has been created by wei on Oct 26, 2010, 3:11:36 AM with the memo:
formatting, tags
« previous (#6)
Changes
Title
unchanged
How to make use of a fragment cache
Category
unchanged
Tutorials
Yii version
unchanged
Tags
changed
cache, memcache
Content
changed
According to the manual [http://jp.php.net/manual/en/memcache.installation.php](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[...]
~~~
*## 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[...]
~~~
*## 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).
```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
<?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.