---恢復內容開始---
yii快取技術
閒來無事,研究下 yii快取。
快取是用於提公升**效能的一種即簡單又有效的途徑。通過儲存相對靜態的資料至快取以備所需,我們可以省去生成這些資料的時間。
在 yii 中使用快取主要包括配置和訪問快取元件。如下的應用配置指定了乙個使用兩台快取伺服器的 memcache 快取元件:
array('components'=>array
( 'cache'=>array
( 'class'=>'system.caching.cmemcache',
'servers'=>array
(
array
( 'host'=>'server1',
'port'=>11211,
'weight'=>60),
array
( 'host'=>'server2',
' port'=>11211,
'weight'=>40
),
),),),
);
快取可以在不同的級別使用。在最低級別,我們使用快取來儲存單個資料,比如乙個變數,我們把它叫做 資料快取。往上一級,我們快取乙個由檢視指令碼生成的頁面片斷。在最高端別,我們儲存整個頁面以便需要的時候直接從快取讀取。
接下來我們將闡述如何在這些級別上使用快取。
注意: 按定義來講,快取是乙個不穩定的儲存媒介,它不保證快取一定存在——不管該快取是否過期。所以,不要使用快取進行持久儲存(比如,不要使用快取來儲存 session 資料)。
資料快取
資料快取也就是在快取中儲存一些 php 變數,過一會再取出來。快取基礎類 ccache 提供了兩個最常用的方法:set() 和get()。
要在快取中儲存變數 $value,我們選擇乙個唯一 id 並呼叫 set() 來儲存它:
被快取的資料會一直保留在快取中,直到因一些快取策略而被刪除(比如快取空間滿了,刪除最舊的資料)。要改變這一行為,我們還可以在呼叫 set() 時加乙個過期引數,這樣資料過一段時間就會自動從快取中清除。 // 在快取中保留該值最多 30 秒
當我們稍後需要訪問該變數時(不管是不是同一 web 請求),我們呼叫 get() (傳入 id)來從快取中獲取它。如果返回值為 false,說明該快取不可用,需要我們重新生成它。
為乙個要快取的變數選擇 id 時,確保該 id 在應用中是唯一的。不必保證 id 在跨應用的情況下保證唯一,因為快取元件有足夠的智慧型來區分不同應用的快取 id。
要從快取中刪除乙個快取值,呼叫 delete();
要清空所有快取,呼叫 flush()。呼叫 flush() 時要非常小心,因為它會把其它應用的快取也清空。
$cache['var1']=$value1; //
相當於: $cache->set('var1',$value1);
$value2=$cache['var2']; //
相當於: $value2=$cache->get('var2');
---恢復內容結束---
YII快取操作
檔案依賴 dependency new yii caching filedependency filename hw.txt cache add file key hello world 3000,dependency dependency決定了當快取檔案發生修改時也會失效 表示式的依賴 depen...
Yii框架 快取
1 yii框架的快取 主要就是 memcache 和 cache 兩種 yii的自帶快取都繼承ccache 類,在使用上基本沒有區別 2 使用方法 1 在config配置檔案main.php檔案中配置如下 cache array class system.caching.cfilecache dir...
快取技術之 Yii2效能優化之 快取依賴
yii中的快取依賴,簡單來說就是將快取和另外乙個東西繫結在一起,如果另外乙個東西發生變化,那麼快取也將發生變化。有點兒類似於js中的觸發事件 但是也不那麼像 快取的變動是依賴的東西所導致的。依賴可以是檔案 資料庫 甚至是一些表示式。功能十分強大。yii提供了5中依賴方法,我們這裡介紹其中的3種常用依...