yii的缓存的应用(2)

为一个要缓存的变量选择 ID 时,确保该 ID 在应用中是唯一的。不必保证 ID 在跨应用的情况下保证唯一,因为缓存组件有足够的智能来区分不同应用的缓存 ID。  

要从缓存中删除一个缓存值,调用 delete();要清空所有缓存,调用 flush()。调用 flush() 时要非常小心,因为它会把其它应用的缓存也清空。  

提示: 因为 CCache 实现了 ArrayAccess 接口,可以像数组一样使用缓存组件。例如:  

$cache=Yii::app()->cache;  

$cache['var1']=$value1;  // 相当于: $cache->set('var1',$value1);  

$value2=$cache['var2'];  // 相当于: $value2=$cache->get('var2');  

  

要使用这些缓存也很简单,只要服务器支持, 然后通进简单的修改配置文件即可使用  

  

一. Memcache 的使用  

1. 编辑配置文件config/main.php 添加memcache配置  

array(  

    'components'=>array(  

        'memcache'=>array(  

            'class'=>' system.caching.CMemCache',  

            'servers'=>array(  

                array(  

                    'host'=>'server1',  

                    'port'=>11211,  

                    'weight'=>60,  

                ),  

                array(  

                    'host'=>'server2',  

                    'port'=>11211,  

                    'weight'=>40,  

                ),  

            ),  

        ),  

    ),  

)  

2. 在框架中的使用  

Yii::app()->memcache ->set($key, $value, $expire);  

Yii::app()->memcache ->get($key);  

Yii::app()->memcache ->deleteValue($key);  

  

二. 数据库缓存的使用  

1. 编辑配置文件config/main.php 添加dbcache配置  

return array(  

    ......  

    'components'=>array(  

        ......  

        'dbcache'=>array(  

            'class'=>' system.caching.CDbCache',  

        ),  

        'db'=>array(  

            'class'=>'system.db.CDbConnection',  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/11207.html