Yii CFileCache 获取不到值的原因分析

所属分类: 网络编程 / PHP编程 阅读数: 1750
收藏 0 赞 0 分享

我在配置文件里面配置了

‘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实现的美国50个州选择列表实例

这篇文章主要介绍了php实现的美国50个州选择列表实例,可实现让当前州为选中状态的功能,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用递归生成文章树

写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.大概步骤如下:首先到数据库取数据,放到一个数组,然后把数据转化为一个树型状的数组,最后把这个树型状的数组转为html代码。下面我们来看个实例
收藏 0 赞 0 分享

wordpress安装过程中遇到中文乱码的处理方法

这篇文章主要介绍了wordpress安装过程中遇到中文乱码的处理方法,是个人项目中遇到的一个奇葩事件,经过一番研究,终于解决,这里记录下来分享给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

php的crc32函数使用时需要注意的问题(不然就是坑)

这篇文章主要介绍了php的crc32函数使用时需要注意的问题(不然就是坑) ,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP中把对象转换为关联数组代码分享

这篇文章主要介绍了PHP中把对象转换为关联数组代码分享,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

php检测url是否存在的方法

这篇文章主要介绍了php检测url是否存在的方法,涉及php中get_headers及正则匹配的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

php获取twitter最新消息的方法

这篇文章主要介绍了php获取twitter最新消息的方法,涉及php操作curl及正则替换的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

php遍历CSV类实例

这篇文章主要介绍了php遍历CSV类,实例分析了php针对csv文件的打开、读取及遍历的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用mysqldump命令导出数据库

最近用php写一个数据备份的功能。做法是使用php的system函数执行mysqldump命令,进行备份,这里分享给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

PHP用反撇号执行外部命令

shell_exec() 命令行实际上仅是反撇号 ` 操作符的变体,如果您编写过 shell 或 Perl 脚本,您就知道可以在反撇号操作符内部捕捉其他命令的输出。
收藏 0 赞 0 分享
查看更多