页面缓存指的是将整个页面的内容缓存到服务器端。之后,当再次请求同一页面时,它的内容将从缓存中提供,而不是从头开始重新生成。
页面缓存由 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 秒,并根据当前应用程序语言进行变化,如果文章的总数发生变化,则应该使缓存的页面失效。
正如你所看到的,页面缓存与 片段缓存 非常相似。它们都支持诸如 duration
、dependencies
、variations
和 enabled
之类的选项。它们的主要区别在于页面缓存是作为 动作过滤器 实现的,而片段缓存是 小部件。
发现拼写错误或你认为此页面需要改进?
在 github 上编辑它 !
注册 或 登录 以发表评论。