頁面快取是將整個靜態頁面(一般是首頁)進行快取,也比較常用,一般採用 file 作為快取介質。
頁面快取是將整個控制器方法的輸出(整個頁面),利用快取介質快取起來,頁面快取生效期間,改變指定方法(一般是快取index方法)的輸出,實際的輸出並不會發生變化。
這裡以 yii 2.0 高階版為例,介紹頁面快取。
操作頁面快取的類檔案為
/advanced/vendor/yiisoft/yii2/filters/pagecache.php
首先,修改元件配置檔案
/advanced/common/config/main.php,註冊乙個不同的快取元件 fcache,內容如下:
1234567
891011
1213
1415
1617
1819
2021
22
<?phpreturn
[ '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 用於測試,內容如下:
1234567
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
<?phpnamespace
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 ...