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 相关文章推荐
数据库相关问题
Oct 09 PHP
我的论坛源代码(六)
Oct 09 PHP
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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中的生成XML文件的4种方法分享
2012/10/06 PHP
PHP无限分类(树形类)
2013/09/28 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
jquery提示 &quot;object expected&quot;的解决方法
2009/12/13 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
python GUI模拟实现计算器
2020/06/22 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
求高于平均分的学生学号及成绩
2016/09/01 面试题
高中毕业的自我鉴定
2013/12/09 职场文书
运动会通讯稿500字
2014/02/20 职场文书
大学生简历求职信
2014/06/24 职场文书
在职证明格式样本
2015/06/15 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
节约用水广告语60条
2019/11/14 职场文书
PHP实现两种排课方式
2021/06/26 PHP
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS