1. 程式人生 > >Yii2頁面快取詳解

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” 檔案內容改變時,快取將失效。當然,還有其他的依賴關係,可以在資料快取中檢視。