Yii2頁面緩存詳解

概述

這裏只是簡單講一下用法,如果想更詳細的瞭解,去看 官方手冊 比較好。

頁面緩存指的是在服務器端緩存整個頁面的內容。隨後當同一個頁面 被請求時,內容將從緩存中取出,而不是重新生成。

舉例說明

class TestController extends Controller{
    // 該方法會在其他方法之前執行
    public function behaviors()
    {
        // 聲明緩存配置
        return [ // 需要注意的這裏是二維數組
            [
                'class' => 'yii\filters\PageCache', // 設置需要加載的緩存文件
                'only' => ['index'], // 設置需要緩存的控制器
                'duration' => 100, // 設置過期時間
                'dependency' => [ // 設置依賴關係
                    'class' => 'yii\caching\FileDependency',
                    'fileName' => 'robots.txt'
                ]
            ]
        ];
    }
    public function actionIndex(){
        echo 2;
    }
    public function actionTest(){
        echo 2;
    }
}

上述代碼表示緩存只在 index 頁面中生效,並且頁面最多緩存 100秒 ,並且會隨着robots.txt文件的變化,而使緩存失效。

你可以在使用頁面緩存的同時,使用 片段緩存

參數說明

  • class:定義需要加載的緩存配置文件。
  • only:定義僅僅只需要在哪個頁面設置緩存。如上列舉例中,僅僅只有index頁面會緩存下來,其他頁面則不會緩存。
  • duration:定義緩存過期秒數。如上列舉例中,100秒之後緩存將過期。
  • dependency:設置依賴關係。如上列舉例中,使用的是文件依賴,當 “robots.txt” 文件內容改變時,緩存將失效。當然,還有其他的依賴關係,可以在數據緩存中查看。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章