?
このドキュメントでは、 php中國(guó)語(yǔ)ネットマニュアル リリース
頁(yè)面緩存指的是在服務(wù)器端緩存整個(gè)頁(yè)面的內(nèi)容。隨后當(dāng)同一個(gè)頁(yè)面被請(qǐng)求時(shí),內(nèi)容將從緩存中取出,而不是重新生成。
頁(yè)面緩存由 yii\filters\PageCache 類提供支持,該類是一個(gè)過(guò)濾器。它可以像這樣在控制器類中使用:
public function behaviors(){
return [
[
'class' => 'yii\filters\PageCache',
'only' => ['index'],
'duration' => 60,
'variations' => [
\Yii::$app->language,
],
'dependency' => [
'class' => 'yii\caching\DbDependency',
'sql' => 'SELECT COUNT(*) FROM post',
],
],
];
}
上述代碼表示頁(yè)面緩存只在?index
?操作時(shí)啟用,頁(yè)面內(nèi)容最多被緩存 60 秒,會(huì)隨著當(dāng)前應(yīng)用的語(yǔ)言更改而變化。如果文章總數(shù)發(fā)生變化則緩存的頁(yè)面會(huì)失效。
如你所見(jiàn),頁(yè)面緩存和片段緩存極其相似。它們都支持?duration
,dependencies
,variations
?和?enabled
?配置選項(xiàng)。它們的主要區(qū)別是頁(yè)面緩存是由過(guò)濾器實(shí)現(xiàn),而片段緩存則是一個(gè)小部件。