15 Yii 2 0 頁面快取

2021-08-07 21:08:11 字數 2664 閱讀 7275

頁面快取是將整個靜態頁面(一般是首頁)進行快取,也比較常用,一般採用 file 作為快取介質。

頁面快取是將整個控制器方法的輸出(整個頁面),利用快取介質快取起來,頁面快取生效期間,改變指定方法(一般是快取index方法)的輸出,實際的輸出並不會發生變化。

這裡以 yii 2.0 高階版為例,介紹頁面快取。

操作頁面快取的類檔案為 

/advanced/vendor/yiisoft/yii2/filters/pagecache.php

首先,修改元件配置檔案 

/advanced/common/config/main.php,註冊乙個不同的快取元件 fcache,內容如下:

123

4567

891011

1213

1415

1617

1819

2021

22

<?php

return

[ 'vendorpath'

=>

dirname

(dirname

(__dir__)).

'/vendor'

, 'components'

=>

[ 'cache'

=>

[ 'class'

=>

'yii\caching\memcache'

,// memcache快取介質,常用於資料快取

'keyprefix'

=>

'advanced_'

,// key 的字首

'servers'

=>

[// 可配多個memcache伺服器,分布式

['host'

=>

'127.0.0.1'

, 'port'

=>

11211

, 'weight'

=>

100,

//權重,即訪問該memcache伺服器的概率

],],

],'fcache'

=>

[// 註冊乙個不同的元件名稱 fcache,用於和 cache 元件區分開來

'class'

=>

'yii\caching\filecache'

,// 檔案快取介質,常用於頁面快取]],

];

來自code的**片

01.php

其次,我們在前台控制器層 

/advanced/frontend/controllers 新建乙個檔案 pagecachecontroller.php 用於測試,內容如下:

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

5455

5657

5859

6061

6263

6465

66

<?php

namespace

frontend\controllers

;

useyii\web\controller

; use

frontend\models\user

;

class

pagecachecontroller

extends

controller

/** * index方法,採用頁面快取(用檔案快取介質,當然頁面快取也可以使用memcache快取介質,但一般不這麼使用)

* 本頁面採用了頁面快取,就沒有必要再使用資料快取

*/public

function

actionindex

()

/** * 其他方法,採用資料快取(一般用memcache作為快取介質)

*/public

function

actiondatacache

()else

echo

$end

-$start.'

';// 檢視讀取資料所有的時間

var_dump

($userlist

); }

}

來自code的**片

snippet_file_0.php

由於是測試,故就算是debug模式,我們也可以開啟頁面快取,將 

'enabled'    => !yii_debug 中的感嘆號去掉即可。

最後,在瀏覽器中輸入 

測試頁面快取,輸入 

可測試資料快取。

Vue2 0 頁面快取和不快取的方法

快取的頁面 不快取的頁面2 在路由router.js中設定.vue頁面是否需要快取 當前的.vue檔案需要快取 3 從快取頁面跳轉到不快取頁面,或者從不快取頁面跳轉到快取頁面的時候,會發現watch是不能監聽路由的,是因為快取和不快取頁面分別在不同的div裡面,乙個div裡面是不可能監聽到另乙個di...

yii2 頁面渲染方法解析

render渲染 renderpartial渲染部分 rendercontent renderajax renderfile render顯示view和layout renderpartial只顯示view rendercontent只渲染layout renderfile顯示指定的檔案,是最基礎的...

MVC3快取(二 頁面區域性快取

mvc3中,新增了乙個叫做partial page的東西,既可以對載入到當前頁面的另外的乙個view進行快取後輸出,當頁面動態輸出時,對需要快取的區域性進行快取處理。建立前端頁面 在對應的controller中新增對應的action public actionresult partialcache ...