Yii CFileCache 获取不到值的原因分析


Posted in PHP onFebruary 08, 2017

我在配置文件里面配置了

‘cache'=>array(
‘class'=>'system.caching.CFileCache',
),

在控制器里面设置了

return array(
array(
‘COutputCache+pro',
‘duration'=>86400,
‘varyByParam'=>array(‘id'),
),

然后开启了数据库 ‘schemaCachingDuration'=>3600,

初次使用是有缓存文件的 而且发现 确实加快不少访问速度

但时间一长 在某个时间段 也许是10分钟后 我就发现 runtime/cache 下面的缓存文件突然就没了

不清楚是什么原因 跟踪了好长时间才发现这个问题

另外还发现缓存目录里面还有 文件夹 什么0a d6 63 3a命名的 不知道这是起什么作用的

在线等缓存文件突然没了的原因?

缓存文件在D盘 数据空间是很大的

一、yii的缓冲需要在main.php里面配置,

/****************/
‘cache' => array (
‘class' => ‘system.caching.CFileCache'
)

配置完成以后只需在控制器里面….

Yii::app ()->cache->set($key,$value,$expire);
Yii::app ()->cache->get($key);

二、配置多种缓存

main.php 的配置

‘cache' => array (
‘class' => ‘system.caching.CFileCache'
),
‘dbcache' => array (
‘class' => ‘system.caching.CDbCache'
)

控制器只需用相应的cacheid调用就好

如:Yii::app ()->dbcache

三、页面缓冲也就是把整个页面静态化

main.php配置还是一样

控制器:可以使用COutputCache类作为一个我们控制器类中的一个行为过滤器。

public function filters() {
return array (
array (
‘COutputCache',
‘duration' => 600,
‘ varyByParam' => array(‘id')
)
);
}

COutputCache来缓存数据时,来作为自动生成key名字的策略。下面是可以使用的一个列表:

varyByRoute:通过将该选项设置为true,具体请求的路由部分将会作为独立标识符的一部分用于生成缓存数据。所以,你可以使用请求controller和acion的组合来区别缓存内容。

varyBySession:通过设置该选项为true,将使用唯一的session id来区分缓存中的内容。每个用户的session都是不同的,但是可以用来为缓存服务。

varyByParam:如前面所说,这里是用输入的GET中的参数来区分缓存内容。

varyByExpression:给该选项设置PHP表达式,我们可以使用相应表达式的结果来区分缓存的内容。

还有要注意的是 COutputCache默认的cacheid是cache

四、片段缓存

片段缓存用来缓存一个页面的一部分。我们可以在view脚本中使用片段缓存。我们通过使用CController::beginCache()和CController::endCache()方法来实现。

…some HTML content…
<?php if($this—>beginCache($key))?>
…content to be cached…
<?php $this—>endCache(); ?>
…other HTML content…

以上所述是小编给大家介绍的Yii CFileCache 获取不到值的原因分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
基于mysql的论坛(2)
Oct 09 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php学习之简单计算器实现代码
Jun 09 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
基于xcache的配置与使用详解
Jun 18 PHP
PHP捕获Fatal error错误的方法
Jun 11 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
PHP进程同步代码实例
Feb 12 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php中this关键字用法分析
Dec 07 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 #PHP
php unicode编码和字符串互转的方法
Aug 12 #PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 #PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 #PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 #PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 #PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 #PHP
You might like
PHP学习笔记之数组篇
2011/06/28 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
几个SQL的面试题
2014/03/08 面试题
什么是网络协议
2016/04/07 面试题
大学生个人简历自我评价
2013/11/16 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
机电一体化求职信
2014/03/10 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
TS 类型兼容教程示例详解
2022/09/23 Javascript