Yii Framework v1.1.10 绫诲弬鑰

CDbCache

system.caching
缁ф壙 class CDbCache » CCache » CApplicationComponent » CComponent
瀹炵幇 ArrayAccess, ICache, IApplicationComponent
婧愯嚜 1.0
鐗堟湰 $Id: CDbCache.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/caching/CDbCache.php
CDbCache浠ュ皢缂撳瓨鏁版嵁瀛樺偍鍦ㄦ暟鎹簱涓殑鏂瑰紡瀹炵幇涓涓紦瀛樺簲鐢ㄧ粍浠躲

CDbCache鍦ㄤ竴涓悕涓cacheTableName鐨勬暟鎹〃閲屽瓨鍌ㄧ紦瀛樻暟鎹 鑻ヨ琛ㄤ笉瀛樺湪锛屽畠浼氳鑷姩鍒涘缓銆 閫氳繃璁剧疆autoCreateCacheTable涓篺alse锛屼綘鍙互鎵嬪姩鍒涘缓鏁版嵁琛ㄣ

CDbCache渚濋潬PDO鏉ヨ闂暟鎹簱銆 榛樿鎯呭喌涓嬶紝瀹冧細浣跨敤涓涓湪搴旂敤绋嬪簭runtime鐩綍涓嬬殑SQLite3鏁版嵁搴撱 浣犱篃鍙互鎸囧畾connectionID鏉ヤ娇鐢 涓涓暟鎹簱搴旂敤缁勪欢璁块棶鏁版嵁搴撱

鏌ョ湅CCache鎿嶄綔鎵嬪唽浠ヤ簡瑙DbCache鏀寔鐨勫父鐢ㄧ紦瀛樻搷浣溿

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
autoCreateCacheTable boolean 缂撳瓨鏁版嵁琛ㄦ槸鍚﹀湪涓嶅瓨鍦ㄦ椂鑷姩鍒涘缓銆傞粯璁や负true銆 鑻ヤ綘宸茬粡鍒涘缓浜嗘暟鎹〃锛屽缓璁皢璇ュ睘鎬ц缃负false浠ユ彁楂樻ц兘銆 CDbCache
behaviors array 杩欎釜搴旂敤缁勪欢闄勫姞鐨勮涓恒 杩欐琛屼负灏嗗湪搴旂敤缁勪欢璋冪敤init鏃堕檮鍔犲湪搴旂敤缁勪欢涓娿 璇峰弬鐓CModel::behaviors濡備綍鎸囧畾姝ゅ睘鎬у笺 CApplicationComponent
cacheTableName string 瀛樺偍缂撳瓨鍐呭鑳藉鐨勬暟鎹〃鍚嶅瓧銆傞粯璁や负YiiCache銆 娉ㄦ剰锛岃嫢autoCreateCacheTable涓篺alse涓斾綘甯屾湜 鎵嬪姩鍒涘缓鏁版嵁琛紝蹇呴』淇濊瘉鏁版嵁琛ㄧ粨鏋勫涓嬶細
(id CHAR(128) PRIMARY KEY, expire INTEGER, value BLOB)
娉ㄦ剰锛屾煇浜涙暟鎹簱绠$悊绯荤粺鍙兘涓嶆敮鎸丅LOB绫诲瀷銆傝繖绉嶆儏鍐典笅锛岀敤涓涓悎閫傜殑 浜岃繘鍒舵暟鎹被鍨嬶紙濡侻ySQL鐨凩ONGBLOG銆丳ostgreSQL鐨凚YTEA锛夋潵浠f浛BLOB銆
CDbCache
connectionID string CDbConnection搴旂敤缁勪欢鐨処D銆傝嫢娌℃湁璁剧疆锛 灏嗚嚜鍔ㄥ垱寤哄拰浣跨敤SQLite3鏁版嵁搴撱係QLite鏁版嵁搴撴枃浠 鏄protected/runtime/cache-YiiVersion. CDbCache
dbConnection CDbConnection 鏁版嵁搴撹繛鎺ュ疄渚 CDbCache
gCProbability integer 缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0. CDbCache
isInitialized boolean 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
keyPrefix string 鍔犲湪姣忎釜缂撳瓨閿悕鍓嶇殑瀛楃涓蹭互淇濊瘉閿悕鏄敮涓鐨勩傞粯璁ゅ兼槸application ID CCache

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
add() 浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 CCache
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
delete() 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 CCache
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
flush() 鍒犻櫎鎵鏈夌紦瀛樺笺 CCache
get() 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 CCache
getDbConnection() 杩斿洖鏁版嵁搴撹繛鎺ュ疄渚 CDbCache
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getGCProbability() 杩斿洖缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0.01%鐨勬鐜囥 CDbCache
getIsInitialized() 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() 鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 CDbCache
mget() 浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 CCache
offsetExists() 杩斿洖鎸囧畾閿悕鐨勭紦瀛樻潯鐩槸鍚﹀瓨鍦ㄣ CCache
offsetGet() 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 CCache
offsetSet() 寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 CCache
offsetUnset() 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 CCache
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
set() 鏍规嵁涓涓敤浠ョ攧鍒殑閿悕寰缂撳瓨涓瓨鍌ㄤ竴涓笺 CCache
setDbConnection() 璁剧疆缂撳瓨缁勪欢浣跨敤鐨勬暟鎹簱杩炴帴銆 CDbCache
setGCProbability() 璁剧疆缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0.01%鐨勬鐜囥 鏁板煎繀椤诲湪0鍒1000000涔嬮棿銆0鎰忓懗鐫涓嶄細鎵ц鍨冨溇鏀堕泦銆 CDbCache

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
addValue() 浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 CDbCache
createCacheTable() 鍒涘缓缂撳瓨鏁版嵁琛ㄣ CDbCache
deleteValue() 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 CDbCache
flushValues() 鍒犻櫎鎵鏈夌紦瀛樺笺 CDbCache
gc() 鍒犻櫎杩囨湡鏁版嵁銆 CDbCache
generateUniqueKey() CCache
getValue() 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 CDbCache
getValues() 浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 CDbCache
setValue() 寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 CDbCache

灞炴ц缁

autoCreateCacheTable 灞炴
public boolean $autoCreateCacheTable;

缂撳瓨鏁版嵁琛ㄦ槸鍚﹀湪涓嶅瓨鍦ㄦ椂鑷姩鍒涘缓銆傞粯璁や负true銆 鑻ヤ綘宸茬粡鍒涘缓浜嗘暟鎹〃锛屽缓璁皢璇ュ睘鎬ц缃负false浠ユ彁楂樻ц兘銆

鍙傝

cacheTableName 灞炴
public string $cacheTableName;

瀛樺偍缂撳瓨鍐呭鑳藉鐨勬暟鎹〃鍚嶅瓧銆傞粯璁や负YiiCache銆 娉ㄦ剰锛岃嫢autoCreateCacheTable涓篺alse涓斾綘甯屾湜 鎵嬪姩鍒涘缓鏁版嵁琛紝蹇呴』淇濊瘉鏁版嵁琛ㄧ粨鏋勫涓嬶細

(id CHAR(128) PRIMARY KEY, expire INTEGER, value BLOB)
娉ㄦ剰锛屾煇浜涙暟鎹簱绠$悊绯荤粺鍙兘涓嶆敮鎸丅LOB绫诲瀷銆傝繖绉嶆儏鍐典笅锛岀敤涓涓悎閫傜殑 浜岃繘鍒舵暟鎹被鍨嬶紙濡侻ySQL鐨凩ONGBLOG銆丳ostgreSQL鐨凚YTEA锛夋潵浠f浛BLOB銆

connectionID 灞炴
public string $connectionID;

CDbConnection搴旂敤缁勪欢鐨処D銆傝嫢娌℃湁璁剧疆锛 灏嗚嚜鍔ㄥ垱寤哄拰浣跨敤SQLite3鏁版嵁搴撱係QLite鏁版嵁搴撴枃浠 鏄protected/runtime/cache-YiiVersion.db.

dbConnection 灞炴

鏁版嵁搴撹繛鎺ュ疄渚

gCProbability 灞炴
public integer getGCProbability()
public void setGCProbability(integer $value)

缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0.01%鐨勬鐜囥

鏂规硶璇︾粏

addValue() 鏂规硶
protected boolean addValue(string $key, string $value, integer $expire)
$key string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
$value string 瑕佺紦瀛樼殑鍊
$expire integer 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴
{return} boolean 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
婧愮爜锛 framework/caching/CDbCache.php#256 (鏄剧ず)
protected function addValue($key,$value,$expire)
{
    if(!
$this->_gced && mt_rand(0,1000000)<$this->_gcProbability)
    {
        
$this->gc();
        
$this->_gced=true;
    }

    if(
$expire>0)
        
$expire+=time();
    else
        
$expire=0;
    
$sql="INSERT INTO {$this->cacheTableName} (id,expire,value) VALUES ('$key',$expire,:value)";
    try
    {
        
$command=$this->getDbConnection()->createCommand($sql);
        
$command->bindValue(':value',$value,PDO::PARAM_LOB);
        
$command->execute();
        return 
true;
    }
    catch(
Exception $e)
    {
        return 
false;
    }
}

浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆

createCacheTable() 鏂规硶
protected void createCacheTable(CDbConnection $db, string $tableName)
$db CDbConnection 鏁版嵁搴撹繛鎺
$tableName string 瑕佸垱寤虹殑鏁版嵁琛ㄥ悕
婧愮爜锛 framework/caching/CDbCache.php#123 (鏄剧ず)
protected function createCacheTable($db,$tableName)
{
    
$driver=$db->getDriverName();
    if(
$driver==='mysql')
        
$blob='LONGBLOB';
    else if(
$driver==='pgsql')
        
$blob='BYTEA';
    else
        
$blob='BLOB';
    
$sql=<<<EOD
CREATE TABLE $tableName
(
id CHAR(128) PRIMARY KEY,
expire INTEGER,
value 
$blob
)
EOD;
    
$db->createCommand($sql)->execute();
}

鍒涘缓缂撳瓨鏁版嵁琛ㄣ

deleteValue() 鏂规硶
protected boolean deleteValue(string $key)
$key string 瑕佸垹闄ゅ肩殑閿悕
{return} boolean 濡傛灉鍒犻櫎鏈熼棿娌℃湁鍙戠敓閿欒
婧愮爜锛 framework/caching/CDbCache.php#288 (鏄剧ず)
protected function deleteValue($key)
{
    
$sql="DELETE FROM {$this->cacheTableName} WHERE id='$key'";
    
$this->getDbConnection()->createCommand($sql)->execute();
    return 
true;
}

浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆

flushValues() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.5锛
protected boolean flushValues()
{return} boolean 濡傛灉娓呯┖鎿嶄綔鎴愬姛鎵ц銆
婧愮爜锛 framework/caching/CDbCache.php#309 (鏄剧ず)
protected function flushValues()
{
    
$this->getDbConnection()->createCommand("DELETE FROM {$this->cacheTableName}")->execute();
    return 
true;
}

鍒犻櫎鎵鏈夌紦瀛樺笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆

gc() 鏂规硶
protected void gc()
婧愮爜锛 framework/caching/CDbCache.php#298 (鏄剧ず)
protected function gc()
{
    
$this->getDbConnection()->createCommand("DELETE FROM {$this->cacheTableName} WHERE expire>0 AND expire<".time())->execute();
}

鍒犻櫎杩囨湡鏁版嵁銆

getDbConnection() 鏂规硶
public CDbConnection getDbConnection()
{return} CDbConnection 鏁版嵁搴撹繛鎺ュ疄渚
婧愮爜锛 framework/caching/CDbCache.php#147 (鏄剧ず)
public function getDbConnection()
{
    if(
$this->_db!==null)
        return 
$this->_db;
    else if((
$id=$this->connectionID)!==null)
    {
        if((
$this->_db=Yii::app()->getComponent($id)) instanceof CDbConnection)
            return 
$this->_db;
        else
            throw new 
CException(Yii::t('yii','CDbCache.connectionID "{id}" is invalid. Please make sure it refers to the ID of a CDbConnection application component.',
                array(
'{id}'=>$id)));
    }
    else
    {
        
$dbFile=Yii::app()->getRuntimePath().DIRECTORY_SEPARATOR.'cache-'.Yii::getVersion().'.db';
        return 
$this->_db=new CDbConnection('sqlite:'.$dbFile);
    }
}

getGCProbability() 鏂规硶
public integer getGCProbability()
{return} integer 缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0.01%鐨勬鐜囥
婧愮爜锛 framework/caching/CDbCache.php#98 (鏄剧ず)
public function getGCProbability()
{
    return 
$this->_gcProbability;
}

getValue() 鏂规硶
protected string getValue(string $key)
$key string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑鍞竴閿悕
{return} string 缂撳瓨涓瓨鍌ㄧ殑鍊硷紝濡傛灉璇ュ间笉瀛樺湪鎴栬呭凡杩囨湡鍒欒繑鍥瀎alse銆
婧愮爜锛 framework/caching/CDbCache.php#182 (鏄剧ず)
protected function getValue($key)
{
    
$time=time();
    
$sql="SELECT value FROM {$this->cacheTableName} WHERE id='$key' AND (expire=0 OR expire>$time)";
    
$db=$this->getDbConnection();
    if(
$db->queryCachingDuration>0)
    {
        
$duration=$db->queryCachingDuration;
        
$db->queryCachingDuration=0;
        
$result=$db->createCommand($sql)->queryScalar();
        
$db->queryCachingDuration=$duration;
        return 
$result;
    }
    else
        return 
$db->createCommand($sql)->queryScalar();
}

浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆

getValues() 鏂规硶
protected array getValues(array $keys)
$keys array 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕鍒楄〃
{return} array 浠$keys涓洪敭鍚嶇殑缂撳瓨鍊煎垪琛
婧愮爜锛 framework/caching/CDbCache.php#204 (鏄剧ず)
protected function getValues($keys)
{
    if(empty(
$keys))
        return array();

    
$ids=implode("','",$keys);
    
$time=time();
    
$sql="SELECT id, value FROM {$this->cacheTableName} WHERE id IN ('$ids') AND (expire=0 OR expire>$time)";

    
$db=$this->getDbConnection();
    if(
$db->queryCachingDuration>0)
    {
        
$duration=$db->queryCachingDuration;
        
$db->queryCachingDuration=0;
        
$rows=$db->createCommand($sql)->queryAll();
        
$db->queryCachingDuration=$duration;
    }
    else
        
$rows=$db->createCommand($sql)->queryAll();

    
$results=array();
    foreach(
$keys as $key)
        
$results[$key]=false;
    foreach(
$rows as $row)
        
$results[$row['id']]=$results[$row['value']];
    return 
$results;
}

浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺

init() 鏂规硶
public void init()
婧愮爜锛 framework/caching/CDbCache.php#74 (鏄剧ず)
public function init()
{
    
parent::init();

    
$db=$this->getDbConnection();
    
$db->setActive(true);
    if(
$this->autoCreateCacheTable)
    {
        
$sql="DELETE FROM {$this->cacheTableName} WHERE expire>0 AND expire<".time();
        try
        {
            
$db->createCommand($sql)->execute();
        }
        catch(
Exception $e)
        {
            
$this->createCacheTable($db,$this->cacheTableName);
        }
    }
}

鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲

璇ユ柟娉曞湪鎺ュ彛IApplicationComponent涓湁瑕佹眰銆 瀹冪‘淇濈紦瀛樻暟鎹〃宸插瓨鍦ㄣ 鍚屾椂浠庣紦瀛樹腑鍒犻櫎杩囨湡鍏舵暟鎹」銆

setDbConnection() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.5锛
public void setDbConnection(CDbConnection $value)
$value CDbConnection 鏁版嵁搴撹繛鎺ュ疄渚
婧愮爜锛 framework/caching/CDbCache.php#171 (鏄剧ず)
public function setDbConnection($value)
{
    
$this->_db=$value;
}

璁剧疆缂撳瓨缁勪欢浣跨敤鐨勬暟鎹簱杩炴帴銆

setGCProbability() 鏂规硶
public void setGCProbability(integer $value)
$value integer 缂撳瓨涓鍧楁暟鎹椂锛屼細杩涜鍨冨溇 鏀堕泦鐨勬鐜囷紙鐧句竾鍒嗕箣涓璁★級銆傞粯璁や负100锛屾剰鍛崇潃0.01%鐨勬鐜囥 鏁板煎繀椤诲湪0鍒1000000涔嬮棿銆0鎰忓懗鐫涓嶄細鎵ц鍨冨溇鏀堕泦銆
婧愮爜锛 framework/caching/CDbCache.php#108 (鏄剧ず)
public function setGCProbability($value)
{
    
$value=(int)$value;
    if(
$value<0)
        
$value=0;
    if(
$value>1000000)
        
$value=1000000;
    
$this->_gcProbability=$value;
}

setValue() 鏂规硶
protected boolean setValue(string $key, string $value, integer $expire)
$key string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
$value string 瑕佺紦瀛樼殑鍊
$expire integer 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴
{return} boolean 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
婧愮爜锛 framework/caching/CDbCache.php#241 (鏄剧ず)
protected function setValue($key,$value,$expire)
{
    
$this->deleteValue($key);
    return 
$this->addValue($key,$value,$expire);
}

寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.