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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
第四章 php数学运算
Dec 30 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
PHP常用正则表达式集锦
Aug 17 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
PHP常用的小程序代码段
Nov 14 PHP
PHP+ajax分页实例简析
Dec 07 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 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实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
js实现批量删除功能
2020/08/27 Javascript
python实现ipsec开权限实例
2014/11/11 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
Unix/Linux开发面试题
2016/08/16 面试题
办理生育手续介绍信
2014/01/14 职场文书
在校生自我鉴定
2014/01/23 职场文书
师生聚会感言
2014/01/26 职场文书
清明节主题班会
2015/08/14 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL