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” 文件内容改变时,缓存将失效。当然,还有其他的依赖关系,可以在数据缓存中查看。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章