浅析Yii2缓存的使用


Posted in PHP onMay 10, 2016

一个好的框架是肯定离不开缓存的使用,相反,一个没有缓存的框架也肯定不是一个好框架,好像是一个意思,不管了,我们先来看看yii2中是如何使用缓存的吧。

又是到我们第一步操作的时候了,我们先来配置组件。

方便起见,我们的缓存组件配置在common\config\main.php文件,先来简单配置下文件缓存

'components' => [ 
'cache' => [ 
'class' => 'yii\caching\FileCache', 
'cachePath' => '@runtime/cache2', 
], 
],

所谓的文件缓存,其实就是把我们要缓存的数据存放到文件内,那数据又缓存到哪里了呢?

//默认的缓存路径是@app\runtime\cache目录下,如果你想要修改缓存路径,可以像上面配置一样,配置下cachePath即可

我们直接来操作看看

$cache = Yii::$app->cache; 
$data = $cache->get('cache_data_key'); 
if ($data === false) { 
//这里我们可以操作数据库获取数据,然后通过$cache->set方法进行缓存 
$cacheData = ...... 
//set方法的第一个参数是我们的数据对应的key值,方便我们获取到 
//第二个参数即是我们要缓存的数据 
//第三个参数是缓存时间,如果是0,意味着永久缓存。默认是0 
$cache->set('cache_data_key', $cacheData, 60*60); 
} 
var_dump($data);

以上内容是小编给大家介绍的Yii2缓存的使用方法,大家可以参考下。

下面给大家介绍Yii设置Cache缓存的方法

先在配置文件components数组中加上:

'cache'=>array( 'class'=>'CFileCache'),

设置Cache:

Yii::app()->cache->set('testcache', array(1,3,4,6));//默认有效期为一年
Yii::app()->cache->set('testcache', array(1,3,4,6), 3600);//一个钟,秒为单位

获取Cache:

$data = Yii::app()->cache->get('testcache');

删除单个Cache:

Yii::app()->cache->delete('testcache');

清空全部Cache:

Yii::app()->cache->flush();
PHP 相关文章推荐
最简单的PHP程序--记数器
Oct 09 PHP
谈谈新手如何学习PHP
Dec 23 PHP
PHP 上传文件大小限制
Jul 05 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
一个简单且很好用的php分页类
Oct 26 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
php中的ini配置原理详解
Oct 14 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
php获取linux命令结果的实例
Mar 13 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
php简单统计在线人数的方法
May 10 #PHP
使用php实现从身份证中提取生日
May 09 #PHP
PHP使用内置函数生成图片的方法详解
May 09 #PHP
php时间计算相关问题小结
May 09 #PHP
php数据访问之查询关键字
May 09 #PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 #PHP
php数据访问之增删改查操作
May 09 #PHP
You might like
ThinkPHP验证码使用简明教程
2014/03/05 PHP
joomla数据库操作示例代码
2016/01/06 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
php中this关键字用法分析
2016/12/07 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
django接入新浪微博OAuth的方法
2015/06/29 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
ORACLE十问
2015/04/20 面试题
静态成员和非静态成员的区别
2012/05/12 面试题
生物科学系大学生的自我评价
2013/12/20 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
python 使用pandas读取csv文件的方法
2022/12/24 Python