yii2缓存的介绍和使用 [ 2.0 版本 ]
作者:白狼 出处:http://www.manks.top/yii2_cache.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
一个好的框架是肯定离不开缓存的使用,相反,一个没有缓存的框架也肯定不是一个好框架,好像是一个意思,不管了,我们先来看看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);
白狼栈
注册时间:2016-04-12
最后登录:2023-03-08
在线时长:90小时7分
最后登录:2023-03-08
在线时长:90小时7分
- 粉丝332
- 金钱1371
- 威望500
- 积分7271
共 6 条评论
有文档里没有的吗?
你想要什么
@白狼栈
如果数据库的数据变动了呢,比方添加了新数据,修改了数据,删除了数据,应该怎么操作下
缓存中更新的数据更新
怎么临时改成用memcache缓存,然后再改回成文件缓存
main-local.php在配置一个
这个不是缓存整个页面吧。
如何缓存整个页面呢?然后根据url中的参数来判断是否需要更新缓存?
http://www.yiifans.com/yii2/guide/caching-page.html
狼哥,这个缓存时间单位是秒还是毫秒呀
单位是秒。
嗯嗯,谢谢
$token = $request->headers->get('access-token');
$userInfo = \Yii::$app->cache->get($token);
var_dump($userInfo);die();//输出 false
取不到值什么情况,,缓存文件已经生成了