yii2 緩存
1、Yii框架的缓存
主要就是“memcache” 和 “cache”两种
Yii的自带缓存都继承CCache 类, 在使用上基本没有区别
2、使用方法
(1)在config配置文件main.php文件中配置如下代码
'cache' => array (
'class' => 'system.caching.CFileCache',
'directoryLevel'=>'2',
),
'memcache' => array(
'class'=>'system.caching.CMemCache',
'servers'=>array(
array('host'=>'localhost', 'port'=>11211, 'weight'=>60),
),
)
(2)“memcache”的使用方法
缓存基础类 CCache 提供了两个最常用的方法:set() 和 get()方法;
将$value这个变量中的值进行缓存,需要写入到一个变量中
书写方式:
Yii::app()->memcache ->set($key, $value, $expire); //写入缓存变量$key中 $expire=30
Yii::app()->memcache ->get($key); //得到缓存变量$key
Yii::app()->memcache ->deleteValue($key); //删除缓存变量 $key
$menus = Yii::app()->memcache->get('menus');
if($menus === false){
$menus = EnNewsType::model()->findAllByAttributes(array(),array('condition'=>'type_id != 6 and status=1','order'=>'update_time DESC'));
Yii::app()->memcache->set('menus',$menus,$defult_cache); //$defult_cache = 15*60;
}
(3)“cache"的使用方法
$value=Yii::app()->cache->get($id);
if($value===false) {
//因为在缓存中没找到,重新生成 $value
//Yii::app()->cache->set($id,$value,30);
}
说明:1、缓存的变量选择 ID 时,确保该 ID 在应用中是唯一的;
2、要从缓存中删除一个缓存值,调用 delete();
3、要清空所有缓存,调用 flush(); //调用 flush() 时要非常小心,因为它会把其它应用的缓存也清空。
(因为 CCache 实现了 ArrayAccess 接口,可以像数组一样使用缓存组件)
- $cache=Yii::app()->cache;
- $cache['var1']=$value1; // 相当于: $cache->set('var1',$value1);
- $value2=$cache['var2']; // 相当于: $value2=$cache->get('var2');
yii2 緩存的更多相关文章
- html5應用緩存
HTML5使用了應用緩存,就是web應用緩存,使得在離線狀態下可以訪問web'應用. 應用緩存的優點: 離線訪問-可以在無網的狀態下訪問應用 速度-有緩存的應用加載更快 瀏覽器負載-瀏覽器只從服務器加 ...
- MS SQLSERVER 存儲過程與緩存
提升SQL Server最具性能的一个方面就是存储过程,SQL Server具备执行计划的缓存功能,以便计划重用.SQL Server2000增强了ad-hoc执行计划的缓存功能,就处理存储过程上性能 ...
- http請求瀏覽器的緩存機制
轉載自:http://kb.cnblogs.com/page/73901/ 流程 当资源第一次被访问的时候,HTTP头部如下 (Request-Line) GET /a.html HTTP/1.1 H ...
- 電腦清理緩存bat文件源碼
@echo off echo 正在清除系統垃圾文件,請稍等 ...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._ ...
- chrome瀏覽器去掉緩存的方法
方法一: 1.開發說打開開發者工具 勾選這個訪問可以 方法二: command+shift+R
- Hibernate-缓存
Hibernate是一个持久层框架,经常访问物理数据库.为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在 ...
- Mysql工作記錄之修改默認存儲引擎及重設root用戶密碼
1>修改默認存儲引擎方法 修改配置文件,然後重啟mysql服務: [root@CHW mysql]# cat /etc/my.cnf [my ...
- 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...
- hibernate缓存机制(转)
原文出处:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是 ...
随机推荐
- Victoria的舞会2——图的连通性及连通分量
[Vijos1022]]Victoria的舞会2 Description Victoria是一位颇有成就的艺术家,他因油画作品<我爱北京天安门>闻名于世界.现在,他为了报答帮助他的同行们, ...
- LINUX文件及目录管理命令基础(2)
Linux文件类型 文件作为Linux操作系统中最常见的对象,在系统中被分为了多种类型 如下: - 普通文件 d 目录 l 链接 b 块设备 c 字符设备 p 管道设备 s 套接字文件 Linux目录 ...
- BZOJ4858 : [Jsoi2016]炸弹攻击 2
枚举每个$S$作为原点,将所有$D$和$T$极角排序. 枚举每个$T$,那么另一个$T$需要和当前的$T$夹角不超过$180$度,贡献为内部$D$的个数. 双指针后用前缀和查询区间的贡献即可. 时间复 ...
- 编程菜鸟的日记-初学尝试编程-寻找2到n之间的素数并输出
//输入一个整数n,输出2到n之间的具体素数值 #include <iostream> #include <algorithm> #include <cmath> ...
- python之组合与重用性
1 组合 组合的概念:软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 >>> class Equip: ...
- JS自学笔记04
JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.nam ...
- 外卖ERP管理系统(一)
京门时代外卖ERP是北京京门时代科技有限公司旗下一款专业的外卖ERP系统管理软件. 本ERP目前己经对接了百度.饿了么.美团以等各外卖平台,在配送方面对接了闪送快递.人人快递.UU跑腿以及达达配送. ...
- javaScript系列 [02]-javaScript对象探析
[02]-javaScript对象探析 题记:多年前,以非常偶然的方式关注了微信公众号“面向对象”,本以为这个公众号主要以分享面向对象编程的干货为主,不料其乃实实在在的猿圈相亲平台.通过查看公开资料, ...
- APP中的图片如何长按可以下载并保存图片到相册出错处理
https://www.cnblogs.com/interdrp/p/9302164.html 接上文. 如果用户在保存图片过程中,不小心拒绝了相册的访问权限
- webpack Import 动态文件
其实React Import scss 是非常简单的,比如一般写法import './PromotionPage.scss';,今天遇到一个样式需要覆盖,那么修改后的代码变成了: import './ ...