首頁  >  文章  >  後端開發  >  解決Yii CFileCache取得不到值的問題

解決Yii CFileCache取得不到值的問題

*文
*文原創
2018-01-02 16:21:301676瀏覽

如何解決Yii CFileCache取得不到值的問題?本文主要介紹了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 ()-&gt ;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…

相關推薦:

#Yii2整合迅搜實現高效能中文分詞檢索

Yii如何過濾不良程式碼

Yii2中join、joinwith多重資料表關聯查詢的使用方法

################################################################################################################################################################################################################################## ##

以上是解決Yii CFileCache取得不到值的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn