yii的自帶快取都繼承ccache 類, 在使用上基本沒有區別
快取基礎類 ccache 提供了兩個最常用的方法:set() 和 get()。
要在快取中儲存變數 $value,我們選擇乙個唯一 id 並呼叫 set() 來儲存它:
被快取的資料會一直保留在快取中,直到因一些快取策略而被刪除(比如快取空間滿了,刪除最舊的資料)。要改變這一行為,我們還可以在呼叫 set() 時加乙個過期引數,這樣資料過一段時間就會自動從快取中清除。
在快取中保留該值最多 30 秒
當我們稍後需要訪問該變數時(不管是不是同一 web 請求),我們呼叫 get() (傳入 id)來從快取中獲取它。如果返回值為 false,說明該快取不可用,需要我們重新生成它。
);if($value===false
)$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. 在框架中的使用
););
資料庫快取的使用
1. 編輯配置檔案config/main.php 新增dbcache配置
returnarray
( ......
'components'=>array
( ......
'dbcache'=>array
( 'class'=>' system.caching.cdbcache',),
'db'=>array
( 'class'=>'system.db.cdbconnection',
'connectionstring'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
'schemacachingduration'=>3600,),),);
2. 在框架中的使用
);檔案快取的使用
1. 編輯配置檔案config/main.php 新增dbcache配置
//'components'=>array
( 'filecache'=>array
( 'class'=>'system.caching.cfilecache',
//我們使用cfilecache實現快取,快取檔案存放在runtime資料夾中
'directorylevel'=>'2', //
快取檔案的目錄深度
),),
2. 在框架中的使用
);apc使用
1. 編輯配置檔案config/main.php 新增dbcache配置
'components'=>array( 'class' => 'system.caching.capccache',),
Yii框架自帶快取的使用方法
yii的自帶快取都繼承ccache 類,在使用上基本沒有區別 快取基礎類 ccache 提供了兩個最常用的方法 set 和 get 要在快取中儲存變數 value,我們選擇乙個唯一 id 並呼叫 set 來儲存它 被快取的資料會一直保留在快取中,直到因一些快取策略而被刪除 比如快取空間滿了,刪除最舊...
Yii 片段快取的使用
yii沒有外掛程式支援頁面靜態化,但很好的支援頁面片段快取,雖然仍然需要經過php處理,考慮到網路因素,已經能和靜態頁面達到差不多的效能效果。下面是 示範,解決的問題是根據使用者會話情況來判斷快取的使用 begincache user div array varybysession 1 如果使用的是...
Yii 自帶的分頁例項
yii自帶的分頁很好用,簡單的幾行 就能把分頁搞出來,唯一惱火的是只能寫在controller中,所以有時候controller中的方法有點臃腫。廢話少說,上 上圖。一 例項 1 控制器中的 紅色的 是分頁必須的 c new cdbcriteria c order tid if status if ...