分頁緩存(Page Caching)

2018-02-24 15:40 更新

頁面緩存

頁面緩存指的是在服務(wù)器端緩存整個(gè)頁面的內(nèi)容。隨后當(dāng)同一個(gè)頁面被請求時(shí),內(nèi)容將從緩存中取出,而不是重新生成。

頁面緩存由 yii\filters\PageCache 類提供支持,該類是一個(gè)過濾器。它可以像這樣在控制器類中使用:

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',
            ],
        ],
    ];
}

上述代碼表示頁面緩存只在?index?操作時(shí)啟用,頁面內(nèi)容最多被緩存 60 秒,會(huì)隨著當(dāng)前應(yīng)用的語言更改而變化。如果文章總數(shù)發(fā)生變化則緩存的頁面會(huì)失效。

如你所見,頁面緩存和片段緩存極其相似。它們都支持?durationdependencies,variations?和?enabled?配置選項(xiàng)。它們的主要區(qū)別是頁面緩存是由過濾器實(shí)現(xiàn),而片段緩存則是一個(gè)小部件。

你可以在使用頁面緩存的同時(shí),使用片段緩存動(dòng)態(tài)內(nèi)容。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)