yii2.0缓存篇之片段缓存
片段缓存指的是缓存页面内容中的某个片段。默认缓存 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缓存篇之片段缓存的更多相关文章
- Yii的缓存机制之片段缓存
一.首先在main.php配置缓存组件 在components里面添加cache项.代码如下: // application components 'components'=>array( ...
- yii2.0缓存篇之页面缓存
页面缓存: 如果整个页面都不会发生改变,就可以使用页面缓存缓存整个页面. public function behaviors(){ //此方法[也叫行为]会提前控制器内其他方法执 ...
- yii2.0缓存篇之文件缓存
文件缓存: 在 frontend/config/main.php/components数组下添加: 'cache'=>[ 'class'=>'yii\caching\FileCa ...
- 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- AspnetCore 缓存篇
AspnetCore 缓存篇 一.缓存的作用 怎样理解缓存: 其实所有的程序,架构,优化,线程...等技术手段,最终的目的都是如何使产品快速的响应用户的操作,提高用户的体验性,目标都是为了系统的使用者 ...
- Yii 2.0 使用片段缓存
网站首页footer中的菜单标题是从数据库读取并显示处理的. 也就是 <footer>标题里面是foreach.这样每个人打开网站就查询遍历效率会很低. <footer class= ...
- Yii2.0数据库缓存依赖发布的使用理解
对于产品中经常需要生成一些缓存类的东西,比如系统基础配置,商品分类等,每次修改调整后都要手动进行缓存发布,是不是非常麻烦!这时候Yii2.0的缓存依赖发布就起到至关重要的作用了!现将主要的使用流程介绍 ...
- yii2.0使用之缓存
1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...
- yii2.0缓存的使用
1.片段缓存(针对于视图中的某部分进行缓存): <?php 设置有效时间 $time=15; 缓存依赖,存入文件.当文件内容发生改变是才会刷新新内容 $dependecy=[ 'class'=& ...
随机推荐
- java算法数据结构
原文地址:github.com/kdn251/interviews 译文出自:掘金翻译计划 译者:王下邀月熊 校对者:PhxNirvana.根号三 这个 链接 用来查看本翻译与英文版是否有差别(如果你 ...
- 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。
模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...
- if switch
一.基本if结构: 1.语法:if (条件){ 代码块 } 2.执行顺序:先判断条件,条件成立则行{}内的代码,不成立则跳出if结构快既不执行{}内的代码. 3.什么情况下要用基本if选择结构:当需要 ...
- http请求常出现的状态码
服务器返回的 响应报文 中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果. 状态码 类别 原因短语 1XX Informational(信息性状态码) 接收的请求正在处理 2XX ...
- 新版Eclipse找不到Java EE Module Dependencies选项
在 Eclipse Galileo (3.5) 版本或Ganymede (3.4) 等更老的版本中, 你可以使用Java EE Module Dependencies 选项来组织你的项目结构,确保依赖 ...
- swift语言点评十三-Lazy
Lazy Stored Properties A lazy stored property is a property whose initial value is not calculated un ...
- oracle查询优化之子查询条件优化
环境:oracle 11g 现有a表与b表通过a01字段关联,要查询出a表的数据在b表没有数据的数据:sql如下 ) ) 因为flag是虚拟字段没有走不了索引导致这条sql执行起来特别慢 310W条数 ...
- vue 键盘监听事件
<template> <div class="hello"> <input v-on:keyup.enter="submit" t ...
- [Typescript] Promise based delay function using async / await
Learn how to write a promise based delay function and then use it in async await to see how much it ...
- IOS音频架构之Audio Unit
在前面的章节部分我们已经对IOS音频结构有了一个清晰的认识,知道Audio Unit是位于整个音频结构的最底层,这一层非常多API已经開始和硬件打交道了.所以比較复杂,有了前面的基础再来看这个部分就比 ...