Yii CFileCache 获取不到值的原因分析
前端之家收集整理的这篇文章主要介绍了
Yii CFileCache 获取不到值的原因分析,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_0@我在配置文件里面配置了
<div class="jb51code">
<pre class="brush:php;">
‘cache'=>array(
‘class'=>'system.caching.CFileCache',),
@H_
301_0@在控制器里面设置了
86400,‘varyByParam'=>array(‘id'),
@H_
301_0@然后开启了
数据库 ‘schemaCachingDuration'=>3600,
@H_
301_0@初次使用是有缓存
文件的 而且发现 确实加快不少访问速度
@H_
301_0@但时间一长 在某个时间段 也许是10分钟后 我就发现 runtime/cache 下面的缓存
文件突然就没了
@H_
301_0@不清楚是什么原因 跟踪了好长时间才发现这个问题
@H_
301_0@另外还发现缓存目录里面还有
文件夹 什么0a d6 63 3a命名的 不知道这是起什么作用的
@H_
301_0@在线等缓存
文件突然没了的原因?
@H_
301_0@缓存
文件在D盘 数据空间是很大的
@H_
301_0@
一、yii的缓冲需要在main.PHP里面配置,
array (
‘class' => ‘system.caching.CFileCache'
)
@H_
301_0@配置完成以后只需在控制器里面….
301_35@cache->set($key,$value,$expire);
Yii::app ()->cache->get($key);
@H_
301_0@
二、配置多种缓存
@H_
301_0@main.
PHP 的配置
array (
‘class' => ‘system.caching.CFileCache'
),‘dbcache' => array (
‘class' => ‘system.caching.CDbCache'
)
@H_
301_0@控制器只需用相应的cacheid
调用就好
@H_
301_0@如:
Yii::app ()->dbcache
@H_
301_0@
@H_
301_0@main.
PHP配置还是一样
@H_
301_0@控制器:可以使用COutputCache类作为一个我们控制器类中的一个行为过滤器。
600,‘ varyByParam' => array(‘id')
)
);
}
@H_
301_0@COutputCache来缓存数据时,来作为
自动生成key名字的策略。下面是可以使用的一个列表:
@H_
301_0@varyByRoute:通过将该选项设置为true,具体请求的路由部分将会作为独立标识符的一部分用于
生成缓存数据。所以,你可以使用请求controller和acion的组合来区别缓存
内容。
@H_
301_0@varyBySession:通过设置该选项为true,将使用唯一的session id来区分缓存中的
内容。每个
用户的session都是不同的,但是可以用来为缓存服务。
@H_
301_0@varyByParam:如前面所说,这里是用输入的GET中的参数来区分缓存
内容。
@H_
301_0@varyByExpression:给该选项设置
PHP表达式,我们可以使用相应表达式的结果来区分缓存的
内容。
@H_
301_0@还有要注意的是 COutputCache默认的cacheid是cache
@H_
301_0@
四、片段缓存
@H_
301_0@片段缓存用来缓存一个
页面的一部分。我们可以在view脚本中使用片段缓存。我们通过使用CController::beginCache()和CController::endCache()
方法来实现。
PHP;">
…some HTML content…
beginCache($key))?>
…content to be cached…
endCache(); ?>
…other HTML content…
@H_
301_0@以上所述是小编给大家介绍的Yii CFileCache
获取不到值的原因分析,希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答
方法!如果觉得
站点还不错,随手转发给程序员朋友一下!