溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Yii中使用CFileCache 獲取不到值如何解決

發(fā)布時間:2020-12-17 15:47:17 來源:億速云 閱讀:182 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)在Yii中使用CFileCache 獲取不到值如何解決,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我在配置文件里面配置了

‘cache'=>array(
‘class'=>'system.caching.CFileCache',
),

在控制器里面設置了

return array(
array(
‘COutputCache+pro',
‘duration'=>86400,
‘varyByParam'=>array(‘id'),
),

然后開啟了數(shù)據(jù)庫 ‘schemaCachingDuration'=>3600,

初次使用是有緩存文件的 而且發(fā)現(xiàn) 確實加快不少訪問速度

但時間一長 在某個時間段 也許是10分鐘后 我就發(fā)現(xiàn) runtime/cache 下面的緩存文件突然就沒了

不清楚是什么原因 跟蹤了好長時間才發(fā)現(xiàn)這個問題

另外還發(fā)現(xiàn)緩存目錄里面還有 文件夾 什么0a d6 63 3a命名的 不知道這是起什么作用的

在線等緩存文件突然沒了的原因?

緩存文件在D盤 數(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'
)

控制器只需用相應的cacheid調(diào)用就好

如:Yii::app ()->dbcache

三、頁面緩沖也就是把整個頁面靜態(tài)化

main.php配置還是一樣

控制器:可以使用COutputCache類作為一個我們控制器類中的一個行為過濾器。

public function filters() {
return array (
array (
‘COutputCache',
‘duration' => 600,
‘ varyByParam' => array(‘id')
)
);
}

COutputCache來緩存數(shù)據(jù)時,來作為自動生成key名字的策略。下面是可以使用的一個列表:

varyByRoute:通過將該選項設置為true,具體請求的路由部分將會作為獨立標識符的一部分用于生成緩存數(shù)據(jù)。所以,你可以使用請求controller和acion的組合來區(qū)別緩存內(nèi)容。

varyBySession:通過設置該選項為true,將使用唯一的session id來區(qū)分緩存中的內(nèi)容。每個用戶的session都是不同的,但是可以用來為緩存服務。

varyByParam:如前面所說,這里是用輸入的GET中的參數(shù)來區(qū)分緩存內(nèi)容。

varyByExpression:給該選項設置PHP表達式,我們可以使用相應表達式的結(jié)果來區(qū)分緩存的內(nèi)容。

還有要注意的是 COutputCache默認的cacheid是cache

四、片段緩存

片段緩存用來緩存一個頁面的一部分。我們可以在view腳本中使用片段緩存。我們通過使用CController::beginCache()和CController::endCache()方法來實現(xiàn)。

…some HTML content…
<?php if($this—>beginCache($key))?>
…content to be cached…
<?php $this—>endCache(); ?>
…other HTML content…

上述就是小編為大家分享的在Yii中使用CFileCache 獲取不到值如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI