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>

 

posted @ 2016-05-26 09:25  雨落知音  阅读(254)  评论(0编辑  收藏  举报