How to make use of a fragment cache

1 0
2
Viewed: 22 368 times
Version: Unknown (update)
Category: Tutorials
Written by: dalip dalip
Updated by: wei wei
Created: Feb 21, 2009
Updated: 15 years ago

You are viewing revision #6 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version or see the changes made in this revision.

« previous (#5)next (#7) »

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.