您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關在Yii中使用CFileCache 獲取不到值如何解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
我在配置文件里面配置了
‘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 獲取不到值如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。