页面缓存(Page Caching)
页面缓存
页面缓存指的是在服务器端缓存整个页面的内容。 随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成。
页面缓存由 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
配置选项。 它们的主要区别是页面缓存是由过滤器实现,而片段缓存则是一个小部件。
你可以在使用页面缓存的同时, 使用片段缓存和动态内容。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。