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 相关文章推荐
开发大型PHP项目的方法
Oct 09 PHP
生成sessionid和随机密码的例子
Oct 09 PHP
用PHP实现维护文件代码
Jun 14 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
php 删除一个数组中的某个值.兼容多维数组!
Feb 18 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
php检测文件编码的方法示例
Apr 25 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
CI框架常用方法小结
May 17 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 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
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
js轮播图的插件化封装详解
2017/07/17 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
vue使用element-ui实现表单验证
2020/12/13 Vue.js
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
python merge、concat合并数据集的实例讲解
2018/04/12 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
Django获取应用下的所有models的例子
2019/08/30 Python
关于python中导入文件到list的问题
2020/10/31 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
领导调研接待方案
2014/02/27 职场文书
给学校的建议书
2014/03/12 职场文书
个人典型事迹材料
2014/12/30 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
民主生活会意见
2015/06/05 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书