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
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 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遍历树的常用方法汇总
2015/06/18 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
javascript prototype原型操作笔记
2009/12/07 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
vue实现拖拽效果
2019/12/23 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
linux下python抓屏实现方法
2015/05/22 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
python英语单词测试小程序代码实例
2019/09/09 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
英国大码女性时装零售商:Evans
2018/08/29 全球购物
Linux操作面试题
2012/05/16 面试题
Unix如何在一行中运行多个命令
2015/05/29 面试题
区域总监的岗位职责
2013/11/21 职场文书
单身联谊活动方案
2014/01/29 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
软件项目实施计划书
2014/05/02 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
班级出游活动计划书
2014/08/15 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
干部培训简讯
2015/07/20 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
详解Laravel制作API接口
2021/05/31 PHP