0 关注者

页面缓存

页面缓存指的是将整个页面的内容缓存到服务器端。之后,当再次请求同一页面时,它的内容将从缓存中提供,而不是从头开始重新生成。

页面缓存由 yii\filters\PageCache 支持,这是一个 动作过滤器。它可以在控制器类中使用,如下所示

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 动作。页面内容应该缓存最多 60 秒,并根据当前应用程序语言进行变化,如果文章的总数发生变化,则应该使缓存的页面失效。

正如你所看到的,页面缓存与 片段缓存 非常相似。它们都支持诸如 durationdependenciesvariationsenabled 之类的选项。它们的主要区别在于页面缓存是作为 动作过滤器 实现的,而片段缓存是 小部件

你可以将 片段缓存 以及 动态内容 与页面缓存一起使用。

发现拼写错误或你认为此页面需要改进?
在 github 上编辑它 !