快取是提升Web應用效能的簡單有效的方式。透過將相對靜態的資料儲存到快取並在收到請求時取回緩存,我們便節省了產生這些資料所需的時間。
在 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), ), ), ), );
當應用程式運作時,快取元件可透過 Yii::app()->cache
存取。
Yii 提供了不同的快取元件,可以將快取資料儲存到不同的媒介中。例如, CMemCache 元件封裝了 PHP 的 memcache 擴充並使用記憶體作為快取儲存媒介。 CApcCache 元件封裝了 PHP APC 擴充; 而 CDbCache 元件會將快取的資料存入資料庫。以下是可用快取元件的清單:
CMemCache: 使用 PHP memcache 擴充.
CApcCache: 使用 PHP APC 擴充。
Yii::app()->cache->get($key) 來取得資料片段而不需要擔心
Yii::app()->cache 可能會是
null。此元件從 1.0.5 版開始支援。
快取可以用於不同的等級。在最低層級中,我們使用快取儲存單一資料片段,例如變量,我們將此稱為提示: 由於所有的這些快取元件均繼承自同樣的基類 CCache,因此無需改變使用快取的那些程式碼就可以切換到使用另一種快取方式。
資料快取(data caching)。在下一個層級中,我們在快取中儲存一個由視圖腳本的一部分所產生的頁面片段。 而在最高層級中,我們將整個頁面儲存在快取中並在需要時取回。
在接下來的幾個小節中,我們會詳細講解如何在這些關卡中使用快取。快取系列文章:Yii框架官方指南系列29—快取:資料快取Yii框架官方指南系列30-快取:片段快取(Fragment Caching)Yii框架官方指南系列31—快取:頁面快取Yii框架官方指南系列32-快取:動態內容(Dynamic Content)以上就是Yii框架官方指南系列28-快取:概覽的內容,更多相關內容請關注PHP中文網(www .php.cn)!注意: 依定義,快取是一個不穩定的儲存媒介。即使沒有逾時,它也不確保快取資料一定存在。 因此,不要將快取作為持久性記憶體使用。 (例如,不要使用快取儲存 Session 資料)。