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中通过smtp发邮件的类,测试通过
Jan 22 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
php生成xml时添加CDATA标签的方法
Oct 17 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
PHP实现rar解压读取扩展包小结
Jun 03 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
php之Memcache学习笔记
2013/06/17 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
企业为何需要商业计划书
2013/12/26 职场文书
美发店5.1活动方案
2014/01/24 职场文书
农林环境专业求职信
2014/03/13 职场文书
静心口服夜广告词
2014/03/20 职场文书
小学生环保倡议书
2014/05/15 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang
QT与javascript交互数据的实现
2021/05/26 Javascript