YII之片段快取

2021-07-26 15:55:36 字數 1016 閱讀 4775

yii的片段快取應用的話挺簡單的

1,在配置檔案裡開啟快取(man.php)

'cache'=>array(

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

),

或者這樣(只是不同的書寫格式而已)

'cache' => [

'class' => 'yii\caching\filecache',

],

2,接下來就是使用快取了(直接在views頁面裡使用

<?php

if($this->begincache('list',array(//list可以是個變數,就是這個值作為快取標示存在則使用快取,不存在則以此值為名建立快取

'duration'=>10,//設定快取有效時間

'dependency'=>array(//設定快取依賴

'class'=>'system.caching.dependencies.cdbcachedependency',//引入資料庫快取

'sql'=>'select count(id) from }',//根據資料庫變化生成快取,這裡是當資料總數發生變化時更新快取),)

))?>

其實還是喜歡這樣寫,看著也舒服一些

<?php        

$dependency = [

'class' => 'yii\caching\dbdependency',

'sql' => 'select count(id) from goods',

];if($this->begincache("<?php echo 'listcahe'.$page ?>",[

'duration'=>10,

'dependency' => $dependency

]))?>

Yii 片段快取的使用

yii沒有外掛程式支援頁面靜態化,但很好的支援頁面片段快取,雖然仍然需要經過php處理,考慮到網路因素,已經能和靜態頁面達到差不多的效能效果。下面是 示範,解決的問題是根據使用者會話情況來判斷快取的使用 begincache user div array varybysession 1 如果使用的是...

yii分析 Yii 利用Clip片段構建複雜介面

大家都知道yii裡為我們提供了layout效果,我們可以把乙個view嵌入事先設計好的layout。但隨著 設計越來越多變,越來越複雜,光光layout內乙個 content 變數在載入view似乎有時候並不能滿足我們的需求。如果頁面中有好幾個地方需要時時變動呢?沒關係,yii還為我們提供了clip...

Django模板片段快取

如果想對快取進行更多的控制,可以使用cache模板標籤來快取模板的乙個片段。要讓模板處理這個標籤,把放在快取片段的上面。標籤將按給定的時間快取包含塊中的內容。它最少需要兩個引數 快取時間 以秒為單位 給快取片段起的名稱。該名稱將被視為是,不使用變數。像這樣 sidebar 有時,你可以依據這個片段內...