Skip to content

Files

Latest commit

 Cannot retrieve latest commit at this time.

History

History
40 lines (33 loc) · 2.16 KB

caching-page.md

File metadata and controls

40 lines (33 loc) · 2.16 KB

ページ・キャッシュ

ページ・キャッシュはサーバ・サイドでページ全体のコンテントをキャッシュするものです。 後で再び同じページがリクエストされた場合に、その内容を一から生成するのではなく、キャッシュから提供します。

ページ・キャッシュは [[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 秒間キャッシュされ、現在のアプリケーションの言語によるバリエーションを持ち、 投稿の総数に変化があった場合キャッシュされたページが無効になります。

御覧のように、ページ・キャッシュは フラグメント・キャッシュ ととてもよく似ています。 それらは両方とも durationdependenciesvariations、そして enabled などのオプションをサポートしています。 主な違いとしては、ページ・キャッシュは アクション・フィルタ として、フラグメント・キャッシュは ウィジェット として実装されているということです。

フラグメント・キャッシュ も、ダイナミック・コンテント も、 ページ・キャッシュと併用することができます。