yii2.0缓存篇之片段缓存
2017-03-16 15:30
267 查看
片段缓存指的是缓存页面内容中的某个片段。默认缓存 60秒。
return $this->renderPartial("ca"); //控制器就简单的调一个页面即可。
视图 ca.php 内(方式一 缓存开关):
<php
$enabled=false; //此值为 false 将关闭缓存,内容部分改变则会立马改变。相应,true就是开启缓存。
?>
<?php if($this->beginCache("cache_div",['enabled'=>$enabled])){ ?>
2222333333 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。
<?php $this->endCache(); };
?>
////如果缓存中存在该内容,beginCache() 方法将渲染内容并返回 false,因此将跳过内容生成逻辑。否则, 内容生成逻辑被执行,一直执行到 endCache() 时,生成的内容将被捕获并存储在缓存中,每个片段缓存需要全局唯一的 $id【就是cache_div】 标记。
视图 ca.php 内(方式二 普通缓存):
<?php if($this->beginCache("cache_div")){ ?>
2222333333 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。
<?php $this->endCache(); };
?>
视图 ca.php 内(方式三 时间设置):
<?php
$time=15; //缓存失效时间,缓存将在15秒后失效
?>
<?php if($this->beginCache("cache_div",['duration'=>$time])){ ?>
2222333333
<?php $this->endCache(); };
?>
视图 ca.php 内(方式四 依赖缓存):
<?php
$dependency = [
'class' => 'yii\caching\DbDependency',
//根据数据改变而使得缓存失效,保证数据及时更新。
'sql' => 'SELECT MAX(updated_at) FROM post',
];
?>
<?php
if ($this->beginCache("cache_div",['dependency' => $dependency])) {
// ... 在此生成内容 ...
$this->endCache();
}
?>
视图 ca.php 内(方式五 依赖文件缓存):
<?php
$dependency = [
'class' => 'yii\caching\FileDependency', //根据文件内容改变使得缓存失效,来更新缓存数据。
'fileName' => 'hw.txt',
//此文件内容改变,数据则失效。此文件在 前或后台/web 目录下
];
?>
<?php
if ($this->beginCache("cache_div", ['dependency' => $dependency])) {
// ... 在此生成内容 ...
$this->endCache();
}
?>
注意:默认缓存时间 60s,即使文件不改变,60s 后如果内容变了,缓存仍然更新。可能是为了保证数据准确性才这么设置的。
return $this->renderPartial("ca"); //控制器就简单的调一个页面即可。
视图 ca.php 内(方式一 缓存开关):
<php
$enabled=false; //此值为 false 将关闭缓存,内容部分改变则会立马改变。相应,true就是开启缓存。
?>
<?php if($this->beginCache("cache_div",['enabled'=>$enabled])){ ?>
2222333333 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。
<?php $this->endCache(); };
?>
////如果缓存中存在该内容,beginCache() 方法将渲染内容并返回 false,因此将跳过内容生成逻辑。否则, 内容生成逻辑被执行,一直执行到 endCache() 时,生成的内容将被捕获并存储在缓存中,每个片段缓存需要全局唯一的 $id【就是cache_div】 标记。
视图 ca.php 内(方式二 普通缓存):
<?php if($this->beginCache("cache_div")){ ?>
2222333333 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。
<?php $this->endCache(); };
?>
视图 ca.php 内(方式三 时间设置):
<?php
$time=15; //缓存失效时间,缓存将在15秒后失效
?>
<?php if($this->beginCache("cache_div",['duration'=>$time])){ ?>
2222333333
<?php $this->endCache(); };
?>
视图 ca.php 内(方式四 依赖缓存):
<?php
$dependency = [
'class' => 'yii\caching\DbDependency',
//根据数据改变而使得缓存失效,保证数据及时更新。
'sql' => 'SELECT MAX(updated_at) FROM post',
];
?>
<?php
if ($this->beginCache("cache_div",['dependency' => $dependency])) {
// ... 在此生成内容 ...
$this->endCache();
}
?>
视图 ca.php 内(方式五 依赖文件缓存):
<?php
$dependency = [
'class' => 'yii\caching\FileDependency', //根据文件内容改变使得缓存失效,来更新缓存数据。
'fileName' => 'hw.txt',
//此文件内容改变,数据则失效。此文件在 前或后台/web 目录下
];
?>
<?php
if ($this->beginCache("cache_div", ['dependency' => $dependency])) {
// ... 在此生成内容 ...
$this->endCache();
}
?>
注意:默认缓存时间 60s,即使文件不改变,60s 后如果内容变了,缓存仍然更新。可能是为了保证数据准确性才这么设置的。
相关文章推荐
- Yii开启片段缓存的方法
- Yii的缓存机制之片段缓存
- YII 片段缓存如何实现。
- Yii 2.0 使用片段缓存
- Yii 缓存之片段缓存
- YII 框架 第九天 缓存之片段缓存
- YII 框架 第九天(2)片段缓存的缓存依赖(实用)
- Yii框架官方指南系列30——缓存:片段缓存(Fragment Caching)
- Yii: 片段缓存的使用
- YII之片段缓存
- YII之片段缓存
- Yii 缓存
- 片段缓存
- 常用的 Yii 缓存的应用
- yii redies 不同的工程缓存key的问题
- 页面片段缓存(一)
- 片段缓存的实际应用、延迟加载及Eazy类库
- Yii 打造带有缓存功能的AR
- yii 缓存机制
- Yii之页面缓存的使用