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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
DISCUZ 分页代码
Jan 02 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
php中如何防止表单的重复提交
Aug 02 PHP
使用php测试硬盘写入速度示例
Jan 27 PHP
php中随机函数mt_rand()与rand()性能对比分析
Dec 01 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
在PHP中利用XML技术构造远程服务(下)
2006/10/09 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
javascript OFFICE控件测试代码
2009/12/08 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python Django路径配置实现过程解析
2020/11/05 Python
Python eval函数原理及用法解析
2020/11/14 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
香港零食网购:上仓胃子
2020/06/08 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
单位门卫岗位职责
2013/12/20 职场文书
酒店副总岗位职责
2013/12/24 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
身边的榜样活动方案
2014/08/20 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android