YII页面缓存

Posted 雨落知音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YII页面缓存相关的知识,希望对你有一定的参考价值。

IndexController.php

namespace frontend\controllers;
use yii;
use yii\web\Controller;

class IndexController extends Controller
{
    public function behaviors()//先于action执行,可以用来实现页面缓存
    {
        return [
          [
              ‘class‘=>‘yii\filters\PageCache‘,//整个页面缓存
              ‘duration‘=>10,//缓存时间
              ‘only‘=>[‘cache‘],//只有index操作会被缓存,即使没有视图展示也会缓存
              ‘dependency‘=>[
                  ‘class‘=>‘yii\caching\DbDependency‘,
                  ‘sql‘=>‘select count(*) from user‘,
              ],
          ]
        ];
    }
    public function actionCache(){
        //片段缓存
        return $this->renderPartial("index");
    }
}

views/index/index.php

<?php
/**
 * Created by PhpStorm.
 * Date: 2016/5/25
 * Time: 19:37
 */

$duration = 15;

//缓存依赖
    $dependency = [
        ‘class‘=>‘yii\caching\FileDependency‘,
        ‘fileName‘=>‘hw.txt‘,//web目录下
    ];

//缓存的开关
$enabled = false;
?>
<?php
   //if($this->beginCache(‘cache_div‘,[‘duration‘ => $duration])){
    //if($this->beginCache(‘cache_div‘,[‘enabled‘ => $enabled])){
   if($this->beginCache(‘cache_div‘,[‘dependency‘ => $dependency])){?>
       <div id="cache_div">
           <div>这里待会会被缓存 哈哈</div>
       </div>
<?php
   $this->endCache();
}?>
<div id="no_cache_div">
    <div>这里不会被缓存 噜</div>
</div>

 

以上是关于YII页面缓存的主要内容,如果未能解决你的问题,请参考以下文章

yii使用之缓存

YII页面缓存

Yii2页面缓存详解

PHP深入浅出学Yii2缓存Cache组件源码级详解(收藏不亏)

PHP深入浅出学Yii2缓存Cache组件源码级详解(收藏不亏)

YII缓存依赖的应用