YII框架页面缓存操作示例

时间:2022-07-27
本文章向大家介绍YII框架页面缓存操作示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例讲述了YII框架页面缓存操作。分享给大家供大家参考,具体如下:

IndexController.php

namespace frontendcontrollers;
use yii;
use yiiwebController;
class IndexController extends Controller
{
  public function behaviors()//先于action执行,可以用来实现页面缓存
  {
    return [
     [
       'class'= 'yiifiltersPageCache',//整个页面缓存
       'duration'= 10,//缓存时间
       'only'= ['cache'],//只有index操作会被缓存,即使没有视图展示也会缓存
       'dependency'= [
         'class'= 'yiicachingDbDependency',
         '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'= 'yiicachingFileDependency',
    '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