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和ACCESS写聊天室(六)
Oct 09 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
利用php生成验证码
Feb 23 PHP
php使用fullcalendar日历插件详解
Mar 06 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 和 MySQL 基础教程(一)
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
PHP 在线翻译函数代码
2009/05/07 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
django解决订单并发问题【推荐】
2019/07/31 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
关于工资低的辞职信
2014/01/14 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
学校文明单位申报材料
2014/05/06 职场文书
财务情况说明书范文
2014/05/06 职场文书
副总经理任命书
2014/06/05 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
校本课程教学计划
2015/01/19 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python