我在配置文件里面配置了
‘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命名的 不知道这是起什么作用的
在线等缓存文件突然没了的原因"htmlcode">
/****************/ ‘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 获取不到值的原因分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
yii,cfilecache
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?