YII框架页面缓存操作示例

本文实例讲述了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框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Yii开启片段缓存的方法

    本文实例讲述了Yii开启片段缓存的方法.分享给大家供大家参考,具体如下: 1.main.php文件中的components中添加: cache'=>array( 'class'=>'system.caching.CFileCache', ), 2.在view中哪里需要缓存就添加这句话 <?php if($this->beginCache('aaa', array( 'duration'=>3360, 'varyByParam'=>array('page'), 'depe

  • Yii配置与使用memcached缓存的方法

    本文实例讲述了Yii配置与使用memcached缓存的方法.分享给大家供大家参考,具体如下: 1. 下载memcached软件包,解压,把memcached.exe 放到随意一个地方,比如:d:/memcached/ 下. 2. 开始->运行->输入cmd,命令行打开memcached.exe,所在文件夹,输入:memcached.exe -d install  安装 3. 输入memcached.exe -d start 启动 4. 中加入 extension=php_memcache.dl

  • 简介PHP的Yii框架中缓存的一些高级用法

    页面缓存 页面缓存指的是在服务器端缓存整个页面的内容.随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成. 页面缓存由 yii\filters\PageCache 类提供支持,该类是一个过滤器.它可以像这样在控制器类中使用: public function behaviors() { return [ [ 'class' => 'yii\filters\PageCache', 'only' => ['index'], 'duration' => 60, 'variations'

  • 深入解析PHP的Yii框架中的缓存功能

    数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回.它也是更高级缓存特性的基础,例如查询缓存和内容缓存. 如下代码是一个典型的数据缓存使用模式.其中 $cache 指向缓存组件: // 尝试从缓存中取回 $data $data = $cache->get($key); if ($data === false) { // $data 在缓存中没有找到,则重新计算它的值 // 将 $data 存放到缓存供下次使用 $cache->set($key, $data); } // 这儿

  • yii2缓存Caching基本用法示例

    本文实例讲述了yii2缓存Caching基本用法.分享给大家供大家参考,具体如下: 在yii的配置文件中添加: 'cache' => [ 'class' => 'yii\caching\ApcCache', ], 缓存的使用: <?php $key = 'cacheKey'; //读取缓存 $data = Yii::$app->cache->get($key); //判断缓存是否存在,如果不存就生成缓存 if ($data === false) { $cache->se

  • Yii清理缓存的方法

    本文实例讲述了Yii清理缓存的方法.分享给大家供大家参考,具体如下: html: 复制代码 代码如下: <button onclick="clearCache()">ClearCache</button> js: function clearCache() { $.get('../eng/index.php?r=site/clear&'+new Date().getTime(),function(){ alert('Clear eng cache ok.

  • Yii2 assets清除缓存的方法

    本文实例讲述了Yii2 assets清除缓存的方法.分享给大家供大家参考,具体如下: use vendor\myVendorName\myPackageName\assets\AppAsset; AppAsset::register($this); 在配置文件中添加: 'components' => [ 'assetManager' => [ 'linkAssets' => true, ], ] 刷新后就可以清除缓存 更多关于Yii相关内容感兴趣的读者可查看本站专题:<Yii框架入

  • 浅析Yii2缓存的使用

    一个好的框架是肯定离不开缓存的使用,相反,一个没有缓存的框架也肯定不是一个好框架,好像是一个意思,不管了,我们先来看看yii2中是如何使用缓存的吧. 又是到我们第一步操作的时候了,我们先来配置组件. 方便起见,我们的缓存组件配置在common\config\main.php文件,先来简单配置下文件缓存 'components' => [ 'cache' => [ 'class' => 'yii\caching\FileCache', 'cachePath' => '@runtime

  • YII Framework框架教程之缓存用法详解

    本文实例讲述了YII Framework框架缓存用法.分享给大家供大家参考,具体如下: 缓存的产生原因众所周知.于是YII作为一个高效,好用的框架,不能不支持缓存.所以YII对各种流行的缓存都提供了接口,你可以根据你的需要使用不同的缓存. 1.YII中的缓存介绍 YII中的缓存是通过组件方式定义的,具体在如下目录 /yii_dev/yii/framework/caching# tree . ├── CApcCache.php ├── CCache.php ├── CDbCache.php ├──

  • Yii 2.0如何使用页面缓存方法示例

    前言 本文主要给大家介绍的是关于Yii2.0如何使用页面缓存的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍. 起初使用页面缓存,发现使用于含有参数的方法存在弊端,只能缓存第一次的页面,导致后面所有不同参数的页面均显示第一次缓存页面:没有生成一个参数页面一个缓存:于是,进行了重写页面缓存. 示例代码 <?php namespace common\lib; use Yii; use yii\caching\Cache; use yii\di\Instance; use yii\web\

随机推荐