Кэширование страниц
Кэширование страниц относится к кэшированию содержимого целой страницы на стороне сервера. Позже, при повторном запросе той же страницы, её содержимое будет предоставлено из кэша вместо его повторного генерации с нуля.
Кэширование страниц поддерживается 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. Их основное различие в том, что кэширование страниц реализовано как фильтр действия, а кэширование фрагментов — как виджет.
Вы можете использовать кэширование фрагментов, а также динамическое содержимое вместе с кэшированием страниц.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/guide-caching-page.html