Yii CFileCache 獲取不到值的原因分析
我在配置文件里面配置了
‘cache'=>array( ‘class'=>'system.caching.CFileCache', ),
在控制器里面設(shè)置了
return array( array( ‘COutputCache+pro', ‘duration'=>86400, ‘varyByParam'=>array(‘id'), ),
然后開(kāi)啟了數(shù)據(jù)庫(kù) ‘schemaCachingDuration'=>3600,
初次使用是有緩存文件的 而且發(fā)現(xiàn) 確實(shí)加快不少訪問(wèn)速度
但時(shí)間一長(zhǎng) 在某個(gè)時(shí)間段 也許是10分鐘后 我就發(fā)現(xiàn) runtime/cache 下面的緩存文件突然就沒(méi)了
不清楚是什么原因 跟蹤了好長(zhǎng)時(shí)間才發(fā)現(xiàn)這個(gè)問(wèn)題
另外還發(fā)現(xiàn)緩存目錄里面還有 文件夾 什么0a d6 63 3a命名的 不知道這是起什么作用的
在線等緩存文件突然沒(méi)了的原因?
緩存文件在D盤(pán) 數(shù)據(jù)空間是很大的
一、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' )
控制器只需用相應(yīng)的cacheid調(diào)用就好
如:Yii::app ()->dbcache
三、頁(yè)面緩沖也就是把整個(gè)頁(yè)面靜態(tài)化
main.php配置還是一樣
控制器:可以使用COutputCache類(lèi)作為一個(gè)我們控制器類(lèi)中的一個(gè)行為過(guò)濾器。
public function filters() { return array ( array ( ‘COutputCache', ‘duration' => 600, ‘ varyByParam' => array(‘id') ) ); }
COutputCache來(lái)緩存數(shù)據(jù)時(shí),來(lái)作為自動(dòng)生成key名字的策略。下面是可以使用的一個(gè)列表:
varyByRoute:通過(guò)將該選項(xiàng)設(shè)置為true,具體請(qǐng)求的路由部分將會(huì)作為獨(dú)立標(biāo)識(shí)符的一部分用于生成緩存數(shù)據(jù)。所以,你可以使用請(qǐng)求controller和acion的組合來(lái)區(qū)別緩存內(nèi)容。
varyBySession:通過(guò)設(shè)置該選項(xiàng)為true,將使用唯一的session id來(lái)區(qū)分緩存中的內(nèi)容。每個(gè)用戶的session都是不同的,但是可以用來(lái)為緩存服務(wù)。
varyByParam:如前面所說(shuō),這里是用輸入的GET中的參數(shù)來(lái)區(qū)分緩存內(nèi)容。
varyByExpression:給該選項(xiàng)設(shè)置PHP表達(dá)式,我們可以使用相應(yīng)表達(dá)式的結(jié)果來(lái)區(qū)分緩存的內(nèi)容。
還有要注意的是 COutputCache默認(rèn)的cacheid是cache
四、片段緩存
片段緩存用來(lái)緩存一個(gè)頁(yè)面的一部分。我們可以在view腳本中使用片段緩存。我們通過(guò)使用CController::beginCache()和CController::endCache()方法來(lái)實(shí)現(xiàn)。
…some HTML content… <?php if($this—>beginCache($key))?> …content to be cached… <?php $this—>endCache(); ?> …other HTML content…
以上所述是小編給大家介紹的Yii CFileCache 獲取不到值的原因分析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Codeigniter的一些優(yōu)秀特性總結(jié)
本文總結(jié)了一下Codeigniter的一些優(yōu)秀特性,算是個(gè)人的一些心得分享,推薦給大家。2015-01-01PHP圖片等比縮放類(lèi)SimpleImage使用方法和使用實(shí)例分享
這篇文章主要介紹了PHP圖片等比縮放類(lèi)SimpleImage使用方法和使用實(shí)例分享,需要的朋友可以參考下2014-04-04php操作MongoDB基礎(chǔ)教程(連接、新增、修改、刪除、查詢)
這篇文章主要介紹了php操作MongoDB簡(jiǎn)明教程,包括連接、新增、修改、刪除、查詢等,需要的朋友可以參考下2014-03-03ThinkPHP防止重復(fù)提交表單的方法實(shí)例分析
這篇文章主要介紹了ThinkPHP防止重復(fù)提交表單的方法,結(jié)合實(shí)例形式分析了thinkPHP防止重復(fù)提交表單的各種常見(jiàn)操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-05-05php使用array_chunk函數(shù)將一個(gè)數(shù)組分割成多個(gè)數(shù)組
這篇文章主要介紹了php使用array_chunk函數(shù)將一個(gè)數(shù)組分割成多個(gè)數(shù)組,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12Laravel 5.5中為響應(yīng)請(qǐng)求提供的可響應(yīng)接口詳解
這篇文章主要給大家介紹了關(guān)于Laravel 5.5中為響應(yīng)請(qǐng)求提供的可響應(yīng)接口的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11基于curl數(shù)據(jù)采集之單頁(yè)面并行采集函數(shù)get_htmls的使用
用第一篇的get_html()實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)采集,由于是一個(gè)一個(gè)執(zhí)行才采集數(shù)據(jù)的傳輸時(shí)間就會(huì)是所有頁(yè)面下載的總時(shí)長(zhǎng),一個(gè)頁(yè)面假設(shè)1秒,那么10個(gè)頁(yè)面就是10秒了。所幸curl還提供了并行處理的功能2013-04-04用PHP寫(xiě)的MySQL數(shù)據(jù)庫(kù)用戶認(rèn)證系統(tǒng)代碼
用PHP寫(xiě)的MySQL數(shù)據(jù)庫(kù)用戶認(rèn)證系統(tǒng)代碼...2007-03-03