From 82d92ccd8c4f9b6f6c4fcfdefdeeff5181c849bb Mon Sep 17 00:00:00 2001 From: AbrahamGreyson <82011220@qq.com> Date: Thu, 17 Jul 2014 01:34:08 +0800 Subject: [PATCH] Caching-page.md translated. [skip ci] --- docs/guide-zh-CN/caching-page.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/guide-zh-CN/caching-page.md diff --git a/docs/guide-zh-CN/caching-page.md b/docs/guide-zh-CN/caching-page.md new file mode 100644 index 0000000..a7275a2 --- /dev/null +++ b/docs/guide-zh-CN/caching-page.md @@ -0,0 +1,40 @@ +页面缓存 +============ + +页面缓存指的是在服务器端缓存整个页面的内容。随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成。 + +页面缓存由 [[yii\filters\PageCache]] 类提供支持,该类是一个[过滤器](structure-filters.md)。它可以像这样在控制器类中使用: + +```php +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 秒,会随着当前应用的语言更改而变化。如果文章总数发生变化则缓存的页面会失效。 + +如你所见,页面缓存和[片段缓存](caching-fragment.md)极其相似。它们都支持 `duration`,`dependencies`,`variations` 和 `enabled` 配置选项。它们的主要区别是页面缓存是由[过滤器](structure-filters.md)实现,而片段缓存则是一个[小部件](structure-widgets.md)。 + +你可以在使用页面缓存的同时,使用[片段缓存](caching-fragment.md)和[动态内容](caching-fragment.md#dynamic-content)。 + + + + + + + +