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是 ...
随机推荐
- [CF768G] The Winds of Winter
Discription: 断开树的每一个点会形成一个森林,然后可以进行一次操作:将森林中的一棵树接到另一棵树上.使得森林中size最大的树size最小.依次输出对于每个结点的最小size值 Hint: ...
- 去除input默认带的上下按钮与修改placeholder的默认颜色、背景、placeholder内容的大小
有时候需要用input元素中type属性值为number时,会出现默认的上下按钮, 去掉input默认的上下按钮:兼容性写法如下 input[type='number']::-webkit-outer ...
- HashMap实现原理(jdk1.7/jdk1.8)
HashMap的底层实现: 1.简单回答 JDK1.7:HashMap的底层实现是:数组+链表 JDK1.8:HashMap的底层实现是:数组+链表/红黑树 为什么要红黑树? 红黑树:一个 ...
- Python ----pip安装模块提示“unknown or unsupported command install”的解决办法
安装pip后,使用pip安装模块时,提示“unknown or unsupported command install” 解决方法: 1.cmd运行"where pip" 找出所有 ...
- js权威指南笔记
//如setTimeout的delay参数为0毫秒,那么指定的函数不会立即执行.只会把它放到队列中,等到前面处于等待状态的事件处理 //程序全部执行完成后,再调用它. function invoke( ...
- 20、collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
- mycat 资料汇总
1. mycat 官网http://www.mycat.io/ 2. mycat 官博:http://blog.csdn.net/zhxdick/article/category/6086991/1 ...
- PHP中new static()与new self()的区别异同分析
本文实例讲述了PHP中new static()与new self()的区别异同,相信对于大家学习PHP程序设计能够带来一定的帮助. 问题的起因是本地搭建一个站.发现用PHP 5.2 搭建不起来,站PH ...
- 如何使用HttpClient包实现JAVA发起HTTP请求?
今天在搭建公司项目框架的时候,发现缺少了一个Java发送HTTP请求的工具类,在网上找了一通,经过自己的改造,已经能实现get请求和post请求的了,现在将代码贴在这里.给大家参考. 1 packag ...
- 09、高级编程之基于排序机制的wordcount程序
package sparkcore.java; import java.util.Arrays; import java.util.Iterator; import org.apache.spark. ...