Yii Framework v1.1.10 绫诲弬鑰

CCache

system.caching
缁ф壙 abstract class CCache » CApplicationComponent » CComponent
瀹炵幇 IApplicationComponent, ICache, ArrayAccess
瀛愮被 CApcCache, CDbCache, CEAcceleratorCache, CFileCache, CMemCache, CWinCache, CXCache, CZendDataCache
婧愯嚜 1.0
鐗堟湰 $Id: CCache.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/caching/CCache.php
CCache鏄敤涓嶅悓鐨勭紦瀛樺瓨鍌ㄥ疄鐜扮紦瀛樼被鐨勫熀绫汇

鍙互閫氳繃璋冪敤set鏉ュ線缂撳瓨涓瓨鍌ㄤ竴涓暟鎹」锛屽苟鍦ㄤ互鍚庤皟鐢 get鏉ユ绱€傚湪杩欎袱涓搷浣滀腑锛屼竴涓敤鏉ョ攧鍒暟鎹」鐨勯敭鍚嶆槸蹇呴』鐨勩 鍦ㄨ皟鐢set鏃朵篃鍙互鎸囧畾杩囨湡鏃堕棿鍜岋紙鎴栵級渚濊禆椤广 濡傛灉杩囨湡鏃堕棿鎴栬呬緷璧栭」鏀瑰彉浜嗭紝鍒欒皟鐢get涓嶅啀 杩斿洖鏁版嵁椤广

娉ㄦ剰锛屾牴鎹畾涔夛紝缂撳瓨涓嶄繚璇佸肩殑瀛樺湪锛屽嵆浣垮畠 娌℃湁杩囨湡銆傜紦瀛樺苟涓嶆剰鍛崇潃鏄竴涓案涔呮у瓨鍌ㄣ

CCache瀹炵幇浜嗘帴鍙ICache鐨勫涓嬫柟娉曪細
  • get : 鏍规嵁閿悕锛堝鏋滄湁锛変粠缂撳瓨涓绱㈠
  • set : 鏍规嵁閿悕寰缂撳瓨涓瓨鍌ㄥ
  • add : 浠呭綋缂撳瓨涓殑娌℃湁璇ラ敭鍚嶆椂寰缂撳瓨涓瓨鍌ㄥ
  • delete : 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕鐨勫
  • flush : 浠庣紦瀛樹腑鍒犻櫎鎵鏈夊


瀛愮被蹇呴』瀹炵幇濡備笅鏂规硶锛

CCache鍚屾椂缁ф壙浜咥rrayAccess浣垮緱鍙互鍍忔暟缁勪竴鏍蜂娇鐢ㄥ畠銆

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
behaviors array 杩欎釜搴旂敤缁勪欢闄勫姞鐨勮涓恒 杩欐琛屼负灏嗗湪搴旂敤缁勪欢璋冪敤init鏃堕檮鍔犲湪搴旂敤缁勪欢涓娿 璇峰弬鐓CModel::behaviors濡備綍鎸囧畾姝ゅ睘鎬у笺 CApplicationComponent
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
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getIsInitialized() 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() 鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 CCache
mget() 浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 CCache
offsetExists() 杩斿洖鎸囧畾閿悕鐨勭紦瀛樻潯鐩槸鍚﹀瓨鍦ㄣ CCache
offsetGet() 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 CCache
offsetSet() 寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 CCache
offsetUnset() 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 CCache
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
set() 鏍规嵁涓涓敤浠ョ攧鍒殑閿悕寰缂撳瓨涓瓨鍌ㄤ竴涓笺 CCache

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

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

灞炴ц缁

keyPrefix 灞炴
public string $keyPrefix;

鍔犲湪姣忎釜缂撳瓨閿悕鍓嶇殑瀛楃涓蹭互淇濊瘉閿悕鏄敮涓鐨勩傞粯璁ゅ兼槸application ID

鏂规硶璇︾粏

add() 鏂规硶
public boolean add(string $id, mixed $value, integer $expire=0, ICacheDependency $dependency=NULL)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
$value mixed 瑕佺紦瀛樼殑鍊
$expire integer 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴
$dependency ICacheDependency 缂撳瓨椤圭殑渚濊禆椤广傝嫢渚濊禆椤规敼鍙橈紝缂撳瓨椤逛細琚爣蹇椾负鏃犳晥銆
{return} boolean 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
婧愮爜锛 framework/caching/CCache.php#159 (鏄剧ず)
public function add($id,$value,$expire=0,$dependency=null)
{
    
Yii::trace('Adding "'.$id.'" to cache','system.caching.'.get_class($this));
    if(
$dependency!==null)
        
$dependency->evaluateDependency();
    
$data=array($value,$dependency);
    return 
$this->addValue($this->generateUniqueKey($id),serialize($data),$expire);
}

浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 鑻ョ紦瀛樹腑宸叉湁璇ラ敭鍚嶅垯浠涔堜篃涓嶅仛銆

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

浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 璇ユ柟娉曞繀椤诲湪瀛愮被涓疄鐜帮紝浠ユ寰鎸 瀹氱紦瀛樺瓨鍌ㄤ腑瀛樺偍鏁版嵁銆傜嫭绔嬫у拰渚 璧栭」宸茬粡鍦add()涓鐞嗕簡銆 鍥犳鍙渶瀹炵幇鏁版嵁瀛樺偍銆

delete() 鏂规硶
public boolean delete(string $id)
$id string 瑕佸垹闄ゅ肩殑閿悕
{return} boolean 濡傛灉鍒犻櫎鏈熼棿娌℃湁鍙戠敓閿欒
婧愮爜锛 framework/caching/CCache.php#173 (鏄剧ず)
public function delete($id)
{
    
Yii::trace('Deleting "'.$id.'" from cache','system.caching.'.get_class($this));
    return 
$this->deleteValue($this->generateUniqueKey($id));
}

浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫

deleteValue() 鏂规硶
protected boolean deleteValue(string $key)
$key string 瑕佸垹闄ゅ肩殑閿悕
{return} boolean 濡傛灉鍒犻櫎鏈熼棿娌℃湁鍙戠敓閿欒
婧愮爜锛 framework/caching/CCache.php#268 (鏄剧ず)
protected function deleteValue($key)
{
    throw new 
CException(Yii::t('yii','{className} does not support delete() functionality.',
        array(
'{className}'=>get_class($this))));
}

浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 璇ユ柟娉曞繀椤诲湪瀛愮被涓疄鐜颁互浠庡疄闄呯紦瀛樺瓨鍌ㄤ腑鍒犻櫎鏁版嵁銆

flush() 鏂规硶
public boolean flush()
{return} boolean 濡傛灉娓呯┖鎿嶄綔鎴愬姛鎵ц銆
婧愮爜锛 framework/caching/CCache.php#184 (鏄剧ず)
public function flush()
{
    
Yii::trace('Flushing cache','system.caching.'.get_class($this));
    return 
$this->flushValues();
}

鍒犻櫎鎵鏈夌紦瀛樺笺 鑻ョ紦瀛樿澶氫釜搴旂敤绋嬪簭鍏变韩锛屽姟蹇呭皬蹇冩墽琛屾鎿嶄綔銆

flushValues() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.5锛
protected boolean flushValues()
{return} boolean 濡傛灉娓呯┖鎿嶄綔鎴愬姛鎵ц銆
婧愮爜锛 framework/caching/CCache.php#281 (鏄剧ず)
protected function flushValues()
{
    throw new 
CException(Yii::t('yii','{className} does not support flushValues() functionality.',
        array(
'{className}'=>get_class($this))));
}

鍒犻櫎鎵鏈夌紦瀛樺笺 瀛愮被鍙互瀹炵幇璇ユ柟娉曚互瀹炵幇娓呯┖鎿嶄綔銆

generateUniqueKey() 鏂规硶
protected string generateUniqueKey(string $key)
$key string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
{return} string 鏍规嵁鎻愪緵鐨勯敭鍚嶇敓鎴愮殑閿悕锛岃閿悕纭繚鍦ㄦ暣涓簲鐢ㄧ▼搴忛噷鏄敮涓鐨勩
婧愮爜锛 framework/caching/CCache.php#70 (鏄剧ず)
protected function generateUniqueKey($key)
{
    return 
md5($this->keyPrefix.$key);
}

get() 鏂规硶
public mixed get(string $id)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
{return} mixed 缂撳瓨涓瓨鍌ㄧ殑鍊硷紝鑻ヨ鍊间笉鍦ㄧ紦瀛樹腑銆佸凡杩囨湡鎴栦緷璧栭」鏀瑰彉鏃跺垯杩斿洖false銆
婧愮爜锛 framework/caching/CCache.php#80 (鏄剧ず)
public function get($id)
{
    if((
$value=$this->getValue($this->generateUniqueKey($id)))!==false)
    {
        
$data=unserialize($value);
        if(!
is_array($data))
            return 
false;
        if(!(
$data[1] instanceof ICacheDependency) || !$data[1]->getHasChanged())
        {
            
Yii::trace('Serving "'.$id.'" from cache','system.caching.'.get_class($this));
            return 
$data[0];
        }
    }
    return 
false;
}

浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺

getValue() 鏂规硶
protected string getValue(string $key)
$key string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑鍞竴閿悕
{return} string 缂撳瓨涓瓨鍌ㄧ殑鍊硷紝濡傛灉璇ュ间笉瀛樺湪鎴栬呭凡杩囨湡鍒欒繑鍥瀎alse銆
婧愮爜锛 framework/caching/CCache.php#200 (鏄剧ず)
protected function getValue($key)
{
    throw new 
CException(Yii::t('yii','{className} does not support get() functionality.',
        array(
'{className}'=>get_class($this))));
}

浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 璇ユ柟娉曞繀椤昏瀛愮被瀹炵幇浠ヤ粠鎸囧畾缂撳瓨瀛 鍌ㄤ腑妫绱㈡暟鎹傜嫭绔嬫у拰渚濊禆椤瑰凡缁忓湪 get()涓鐞嗕簡銆傚洜姝ゅ彧闇瑕 瀹炵幇鏁版嵁妫绱€

getValues() 鏂规硶
protected array getValues(array $keys)
$keys array 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕鍒楄〃
{return} array 浠$keys涓洪敭鍚嶇殑缂撳瓨鍊煎垪琛
婧愮爜锛 framework/caching/CCache.php#215 (鏄剧ず)
protected function getValues($keys)
{
    
$results=array();
    foreach(
$keys as $key)
        
$results[$key]=$this->getValue($key);
    return 
$results;
}

浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 榛樿浠ュ娆¤皟鐢getValue鏉ヤ緷娆 妫绱㈣缂撳瓨鐨勫肩殑鏂瑰紡瀹炵幇銆 鑻ュ簳灞傜紦瀛樺瓨鍌ㄦ敮鎸佸涓幏鍙栵紙muiltiget锛夛紝 璇ユ柟娉曞簲璇ラ噸鍐欎互鍒╃敤鍏剁壒鎬с

init() 鏂规硶
public void init()
婧愮爜锛 framework/caching/CCache.php#59 (鏄剧ず)
public function init()
{
    
parent::init();
    if(
$this->keyPrefix===null)
        
$this->keyPrefix=Yii::app()->getId();
}

鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 閫氳繃璁剧疆榛樿缂撳瓨閿悕鍓嶇紑锛岃鏂规硶閲嶅啓浜嗙埗绫绘柟娉曠殑瀹炵幇銆

mget() 鏂规硶
public array mget(array $ids)
$ids array 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕鍒楄〃
{return} array 浠ユ寚瀹氶敭鍚嶅垪琛ㄥ搴旂殑缂撳瓨鍊煎垪琛ㄣ 浠ワ紙閿悕锛屽硷級瀵圭殑褰㈠紡杩斿洖鏁扮粍銆 鑻ユ煇鍊间笉鍦ㄧ紦瀛樹腑鎴栧凡杩囨湡鍒欐暟缁勪腑瀵瑰簲鐨勫间负false銆
婧愮爜锛 framework/caching/CCache.php#106 (鏄剧ず)
public function mget($ids)
{
    
$uniqueIDs=array();
    
$results=array();
    foreach(
$ids as $id)
    {
        
$uniqueIDs[$id]=$this->generateUniqueKey($id);
        
$results[$id]=false;
    }
    
$values=$this->getValues($uniqueIDs);
    foreach(
$uniqueIDs as $id=>$uniqueID)
    {
        if(!isset(
$values[$uniqueID]))
            continue;
        
$data=unserialize($values[$uniqueID]);
        if(
is_array($data) && (!($data[1] instanceof ICacheDependency) || !$data[1]->getHasChanged()))
        {
            
Yii::trace('Serving "'.$id.'" from cache','system.caching.'.get_class($this));
            
$results[$id]=$data[0];
        }
    }
    return 
$results;
}

浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 鏌愪簺缂撳瓨锛堣濡俶emcache锛宎pc锛夊厑璁镐竴娆℃ф绱㈠涓硷紝 杩欏彲浠ユ彁楂樻ц兘锛屽洜涓哄畠闄嶄綆浜嗛氫俊鎴愭湰銆 鍦ㄧ紦瀛樻湰韬笉鏀寔姝ゅ姛鑳界殑鎯呭喌涓嬶紝瀹冧細鐢ㄨ繖绉嶆柟娉曟ā鎷熴

offsetExists() 鏂规硶
public boolean offsetExists(string $id)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
{return} boolean
婧愮爜锛 framework/caching/CCache.php#293 (鏄剧ず)
public function offsetExists($id)
{
    return 
$this->get($id)!==false;
}

杩斿洖鎸囧畾閿悕鐨勭紦瀛樻潯鐩槸鍚﹀瓨鍦ㄣ 璇ユ柟娉曟槸鎺ュ彛ArrayAccess涓姹傜殑銆

offsetGet() 鏂规硶
public mixed offsetGet(string $id)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
{return} mixed 缂撳瓨涓瓨鍌ㄧ殑鍊硷紝鑻ヨ鍊间笉鍦ㄧ紦瀛樹腑鎴栬呭凡杩囨湡鍒欒繑鍥瀎alse銆
婧愮爜锛 framework/caching/CCache.php#304 (鏄剧ず)
public function offsetGet($id)
{
    return 
$this->get($id);
}

浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 璇ユ柟娉曟槸鎺ュ彛ArrayAccess涓姹傜殑銆

offsetSet() 鏂规硶
public void offsetSet(string $id, mixed $value)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
$value mixed 瑕佺紦瀛樼殑鍊
婧愮爜锛 framework/caching/CCache.php#317 (鏄剧ず)
public function offsetSet($id$value)
{
    
$this->set($id$value);
}

寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 鑻ョ紦瀛樹腑宸茬粡鍖呭惈璇ラ敭鍚嶏紝鍒欎箣鍓嶇殑缂撳瓨鍊 浼氳鏂扮殑鏇挎崲鎺夈備娇鐢╯et()鏂规硶鏉ユ坊鍔犺繃鏈熸椂闂村拰渚濊禆椤广 璇ユ柟娉曟槸鎺ュ彛ArrayAccess涓姹傜殑銆

offsetUnset() 鏂规硶
public boolean offsetUnset(string $id)
$id string 瑕佸垹闄ゅ肩殑閿悕
{return} boolean 濡傛灉鍒犻櫎鏈熼棿娌℃湁鍙戠敓閿欒
婧愮爜锛 framework/caching/CCache.php#328 (鏄剧ず)
public function offsetUnset($id)
{
    
$this->delete($id);
}

浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 璇ユ柟娉曟槸鎺ュ彛ArrayAccess涓姹傜殑銆

set() 鏂规硶
public boolean set(string $id, mixed $value, integer $expire=0, ICacheDependency $dependency=NULL)
$id string 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕
$value mixed 瑕佺紦瀛樼殑鍊
$expire integer 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴
$dependency ICacheDependency 缂撳瓨椤圭殑渚濊禆椤广傝嫢渚濊禆椤规敼鍙橈紝缂撳瓨椤逛細琚爣蹇椾负鏃犳晥銆
{return} boolean 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
婧愮爜锛 framework/caching/CCache.php#141 (鏄剧ず)
public function set($id,$value,$expire=0,$dependency=null)
{
    
Yii::trace('Saving "'.$id.'" to cache','system.caching.'.get_class($this));
    if(
$dependency!==null)
        
$dependency->evaluateDependency();
    
$data=array($value,$dependency);
    return 
$this->setValue($this->generateUniqueKey($id),serialize($data),$expire);
}

鏍规嵁涓涓敤浠ョ攧鍒殑閿悕寰缂撳瓨涓瓨鍌ㄤ竴涓笺 鑻ョ紦瀛樹腑宸茬粡鍖呭惈璇ラ敭鍚嶏紝鍒欎箣鍓嶇殑缂撳瓨鍊 鍜岃繃鏈熸椂闂翠細琚柊鐨勬浛鎹㈡帀銆

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

寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 璇ユ柟娉曞繀椤诲湪瀛愮被涓疄鐜帮紝浠ユ寰鎸 瀹氱紦瀛樺瓨鍌ㄤ腑瀛樺偍鏁版嵁銆傜嫭绔嬫у拰渚 璧栭」宸茬粡鍦set()涓鐞嗕簡銆 鍥犳鍙渶瀹炵幇鏁版嵁瀛樺偍銆

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