首页 > 代码库 > Yii2片段缓存详解

Yii2片段缓存详解

片段缓存

1 // ..../view/site/index.php页面
2 <?php 
3 if($this->beginCache(‘cache‘)) {
4     echo "<p class=‘cache‘>这里待会会被缓存</p>";
5     $this->endCache();
6 }
7 echo "<p class=‘no_cache‘>这里不会被缓存</p>";
8 ?>

 

 

 

 

 

 

 

 

 

 

 

片段缓存--过时间期

// ..../view/site/index.php页面 
<?php 
$duration = 15; // 设置过期秒数
if($this->beginCache(‘cache‘ , [‘duration‘ => $duration])) {
    echo "<p class=‘cache‘>这里待会会被缓存</p>";
    $this->endCache();
}
echo "<p class=‘no_cache‘>这里不会被缓存</p>";
?>

片段缓存--依赖dependency

// ..../view/site/index.php页面 
<?php 
$dependency = [ // 这里用文件依赖举例
    ‘class‘ => ‘\yii\caching\FileDependency‘,
    ‘fileName‘ => ‘robots.txt‘
];
if($this->beginCache(‘cache‘ , [‘dependency‘ => $dependency])) {
    echo "<p class=‘cache‘>这里待会会被缓存</p>";
    $this->endCache();
}
echo "<p class=‘no_cache‘>这里不会被缓存</p>";
?>

 循环嵌套片段缓存

// ..../view/site/index.php页面
<?php
if($this->beginCache(‘cache‘)) {
    // ...在此生成内容...
    if ($this->beginCache(‘cache‘)) {
        // ...在此生成内容...
        $this->endCache();
    }
    // ...在此生成内容...
    $this->endCache();
}
?>

 

Yii2片段缓存详解