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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
php时间不正确的解决方法
Apr 09 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
php修改时间格式的代码
May 29 PHP
php流量统计功能的实现代码
Sep 29 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
Chrome Web App开发小结
Sep 04 PHP
php强制运行广告的方法
Dec 01 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
功能强大的PHP发邮件类
Aug 29 PHP
Laravel登录失败次数限制的实现方法
Aug 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
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
python 字符串常用方法汇总详解
2019/09/16 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
PHP面试题附答案
2015/11/28 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
少先队入队活动方案
2014/02/08 职场文书
学生个人评语大全
2015/01/04 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android