浅析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设计模式 Interpreter(解释器模式)
Jun 26 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP实现WebService的简单示例和实现步骤
Mar 27 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
php中PDO方式实现数据库的增删改查
May 17 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
laravel框架的安装与路由实例分析
Oct 11 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
在PHP的图形函数中显示汉字
2006/10/09 PHP
php 进度条实现代码
2009/03/10 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
Exjs 入门篇
2010/04/07 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
python threading模块操作多线程介绍
2015/04/08 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python实现的端口扫描功能示例
2018/04/08 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
外贸业务员求职信
2014/06/16 职场文书
作文批改评语
2014/12/25 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript