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 相关文章推荐
UCenter 批量添加用户的php代码
Jul 17 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
php按单词截取字符串的方法
Apr 07 PHP
php正则替换处理HTML页面的方法
Jun 17 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP测试框架PHPUnit组织测试操作示例
May 28 PHP
Laravel框架自定义分页样式操作示例
Jan 26 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
ThinkPHP分页类使用详解
2014/03/05 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
详解python单例模式与metaclass
2016/01/15 Python
python简单实现刷新智联简历
2016/03/30 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
python 整数越界问题详解
2019/06/27 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
自考生毕业自我鉴定
2013/10/10 职场文书
销售经理竞聘书
2014/03/31 职场文书
中学生操行评语大全
2014/04/24 职场文书
体育专业自荐书
2014/05/29 职场文书
人民调解员培训方案
2014/06/05 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
vue自定义右键菜单之全局实现
2022/04/09 Vue.js