片段缓存指的是缓存页面内容中的某个片段。默认缓存 60秒。

return $this->renderPartial("ca");                         //控制器就简单的调一个页面即可。

视图 ca.php 内(方式一 缓存开关):
<php

$enabled=false;          //此值为 false 将关闭缓存,内容部分改变则会立马改变。相应,true就是开启缓存。

?>

<?php if($this->beginCache("cache_div",['enabled'=>$enabled])){ ?>       

   2222333333                                 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。

<?php  $this->endCache(); };

?>

////如果缓存中存在该内容,beginCache() 方法将渲染内容并返回 false,因此将跳过内容生成逻辑。否则, 内容生成逻辑被执行,一直执行到 endCache() 时,生成的内容将被捕获并存储在缓存中,每个片段缓存需要全局唯一的 $id【就是cache_div】 标记。

视图 ca.php 内(方式二 普通缓存):

<?php if($this->beginCache("cache_div")){ ?>       

   2222333333                                 //这里的值将会被缓存,在缓存时间内更改这里的值将不会发生任何变化。

<?php  $this->endCache(); };

?>

视图 ca.php 内(方式三 时间设置):

<?php

   $time=15;         //缓存失效时间,缓存将在15秒后失效

?>

<?php if($this->beginCache("cache_div",['duration'=>$time])){ ?>       

   2222333333                                

<?php  $this->endCache(); };

?>

视图 ca.php 内(方式四 依赖缓存):

<?php

$dependency = [

    'class' => 'yii\caching\DbDependency',          
//根据数据改变而使得缓存失效,保证数据及时更新。

    'sql' => 'SELECT MAX(updated_at) FROM post',

];

?>

<?php

    if ($this->beginCache("cache_div",['dependency' => $dependency])) {

        // ... 在此生成内容 ...

        $this->endCache();

    }

?>

视图 ca.php 内(方式五 依赖文件缓存):

<?php

$dependency = [

    'class' => 'yii\caching\FileDependency',           //根据文件内容改变使得缓存失效,来更新缓存数据。

    'fileName' => 'hw.txt',                           
//此文件内容改变,数据则失效。此文件在 前或后台/web 目录下

];

?>

<?php

    if ($this->beginCache("cache_div", ['dependency' => $dependency])) {

        // ... 在此生成内容 ...

        $this->endCache();

    }

?>

         注意:默认缓存时间 60s,即使文件不改变,60s 后如果内容变了,缓存仍然更新。可能是为了保证数据准确性才这么设置的。

yii2.0缓存篇之片段缓存的更多相关文章

  1. Yii的缓存机制之片段缓存

      一.首先在main.php配置缓存组件 在components里面添加cache项.代码如下: // application components 'components'=>array( ...

  2. yii2.0缓存篇之页面缓存

    页面缓存: 如果整个页面都不会发生改变,就可以使用页面缓存缓存整个页面. public function behaviors(){            //此方法[也叫行为]会提前控制器内其他方法执 ...

  3. yii2.0缓存篇之文件缓存

    文件缓存: 在 frontend/config/main.php/components数组下添加: 'cache'=>[      'class'=>'yii\caching\FileCa ...

  4. 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  5. AspnetCore 缓存篇

    AspnetCore 缓存篇 一.缓存的作用 怎样理解缓存: 其实所有的程序,架构,优化,线程...等技术手段,最终的目的都是如何使产品快速的响应用户的操作,提高用户的体验性,目标都是为了系统的使用者 ...

  6. Yii 2.0 使用片段缓存

    网站首页footer中的菜单标题是从数据库读取并显示处理的. 也就是 <footer>标题里面是foreach.这样每个人打开网站就查询遍历效率会很低. <footer class= ...

  7. Yii2.0数据库缓存依赖发布的使用理解

    对于产品中经常需要生成一些缓存类的东西,比如系统基础配置,商品分类等,每次修改调整后都要手动进行缓存发布,是不是非常麻烦!这时候Yii2.0的缓存依赖发布就起到至关重要的作用了!现将主要的使用流程介绍 ...

  8. yii2.0使用之缓存

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...

  9. yii2.0缓存的使用

    1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...

随机推荐

  1. zzulioj--1716--毒(模拟水题)

     1716: 毒 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 96  Solved: 43 SubmitStatusWeb Board Desc ...

  2. JQuery中的find、filter和each方法学习

    find() 概述 搜索所有与指定表达式匹配的元素.这个函数是找出正在处理的元素的后代元素的好方法. 所有搜索都依靠jQuery表达式来完成.这个表达式可以使用CSS1-3的选择器语法来写. 参数 e ...

  3. Core Java(一)

    一. 绪 1.软件:按照特定顺序组织的计算机数据和指令的集合. 软件开发:借助开发工具与计算机语言制作软件 2.计算机语言:用于人与计算机通讯的语言 分为机器语言,汇编语言,高级语言 高级语言分为编译 ...

  4. JavaScript学习——BOM对象

    1.BOM 对象:浏览器对象模型(操作与浏览器相关的内容) 2.Window 对象 Window 对象表示浏览器中打开的窗口 setInterval():它有一个返回值,主要是提供给 clearInt ...

  5. 利用canvas制作简单的logo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. NOIp2018模拟赛四十一

    现在是下午15:36,我已经改完题了...刷新纪录 A题叫B,B题叫A是什么操作??? 我离200只差一个SBFA.jpg 成绩:0+100+10=110 被虐啦...今天九个阿克的Orz.A题是个神 ...

  7. JZOJ5787轨道(容斥+DP)

    JZOJ5787轨道 Description 2018年1月31日,152年一遇的超级大月全食在中国高空出现(没看到的朋友真是可惜),小B看到月食,便对月球的轨道产生了兴趣.他上网查重力加速度的公式, ...

  8. 【Python】包管理工具pip

    一.pip的安装 1. 将"D:\Python27\"  和 "D:\Python27\Scripts"设置到环境变量当中 2. 安装setup tools 将 ...

  9. 四则运算1 java+jsp+SQLServer

    1,设计思想(1)在java resourse里定义包和类 (2)在类里定义生成算式,并将算式保存在数据库中的方法 (3)在jsp文件中调用java方法 2,源程序代码 生成算式的方法 public ...

  10. HDU 2222 Keywords Search AC自己主动机入门题

    单词统计的题目,给出一些单词,统计有多少单词在一个文本中出现,最经典的入门题了. AC自己主动机的基础: 1 Trie. 以这个数据结构为基础的,只是添加一个fail指针和构造fail的函数 2 KM ...