Spec-Zone.ru › Yii 2.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 секунд и должно изменяться в зависимости от текущего языка приложения, а кэшированная страница должна быть проигнорирована, если общее количество сообщений изменится.

Как вы можете видеть, кэширование страниц очень похоже на кэширование фрагментов. Оба поддерживают такие параметры, как 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API