浅析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 相关文章推荐
实用函数10
Nov 08 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
php在程序中将网页生成word文档并提供下载的代码
Oct 09 PHP
PHP编码规范的深入探讨
Jun 06 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
PHP仿微信多图片预览上传实例代码
Sep 13 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
PHP中SESSION过期设置
Mar 09 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-Java-Bridge使用笔记
2014/09/22 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
Python生成器(Generator)详解
2015/04/13 Python
详解python基础之while循环及if判断
2017/08/24 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
django model object序列化实例
2020/03/13 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
中专生自我鉴定
2013/12/17 职场文书
聚美优品广告词改编
2014/03/14 职场文书
亮化工程实施方案
2014/03/17 职场文书
个人典型事迹材料
2014/12/30 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
Python进度条的使用
2021/05/17 Python
如何使用PyCharm及常用配置详解
2021/06/03 Python
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
spring 项目实现限流方法示例
2022/07/15 Java/Android