一、Yii框架的緩存php
主要就是「memcache」 和 「cache」兩種數組
Yii的自帶緩存都繼承CCache 類, 在使用上基本沒有區別緩存
二、使用方法app
(1)在config配置文件main.php文件中配置以下代碼框架
'cache' => array (
'class' => 'system.caching.CFileCache',
'directoryLevel'=>'2',
),
'memcache' => array(
'class'=>'system.caching.CMemCache',
'servers'=>array(
array('host'=>'localhost', 'port'=>11211, 'weight'=>60),
),
)
(2)「memcache」的使用方法spa
緩存基礎類 CCache 提供了兩個最經常使用的方法:set() 和 get()方法;code
將$value這個變量中的值進行緩存,須要寫入到一個變量中server
書寫方式:blog
Yii::app()->memcache ->set($key, $value, $expire); //寫入緩存變量$key中 $expire=30繼承
Yii::app()->memcache ->get($key); //獲得緩存變量$key
Yii::app()->memcache ->deleteValue($key); //刪除緩存變量 $key
$menus = Yii::app()->memcache->get('menus');
if($menus === false){
$menus = EnNewsType::model()->findAllByAttributes(array(),array('condition'=>'type_id != 6 and status=1','order'=>'update_time DESC'));
Yii::app()->memcache->set('menus',$menus,$defult_cache); //$defult_cache = 15*60;
}
(3)「cache"的使用方法
$value=Yii::app()->cache->get($id);
if($value===false) {
//由於在緩存中沒找到,從新生成 $value
//Yii::app()->cache->set($id,$value,30);
}
說明:一、緩存的變量選擇 ID 時,確保該 ID 在應用中是惟一的;
二、要從緩存中刪除一個緩存值,調用 delete();
三、要清空全部緩存,調用 flush(); //調用 flush() 時要很是當心,由於它會把其它應用的緩存也清空。
(由於 CCache 實現了 ArrayAccess 接口,能夠像數組同樣使用緩存組件)