CMemCache
鍖 | system.caching |
---|---|
缁ф壙 | class CMemCache » CCache » CApplicationComponent » CComponent |
瀹炵幇 | ArrayAccess, ICache, IApplicationComponent |
婧愯嚜 | 1.0 |
鐗堟湰 | $Id: CMemCache.php 3515 2011-12-28 12:29:24Z mdomba $ |
婧愮爜 | framework/caching/CMemCache.php |
CMemCache鍩轰簬memcached瀹炵幇涓涓紦瀛樺簲鐢ㄧ粍浠躲
閫氳繃璁剧疆servers灞炴э紝鍙互涓篊MemCache 璁剧疆涓绯诲垪鐨刴emcache鏈嶅姟鍣ㄣ傞粯璁ゆ儏鍐碉紝CMemCache璁や负鍙湁 涓鍙癿emcache鏈嶅姟鍣ㄤ綅浜巐ocalhost鐨11211绔彛銆
鏌ョ湅CCache鎿嶄綔鎵嬪唽浠ヤ簡瑙MemCache鏀寔鐨勫父鐢ㄧ紦瀛樻搷浣溿
娉ㄦ剰锛屾病鏈夊畨鍏ㄦ帾鏂戒互淇濇姢memcache涓殑鏁版嵁銆 杩愯浜庣郴缁熶腑鐨勪换浣曡繘绋嬮兘鍙互璁块棶memcache涓殑鎵鏈夋暟鎹
瑕佷娇鐢–MemCache浣滀负缂撳瓨搴旂敤缁勪欢锛屽涓嬮厤缃簲鐢ㄧ▼搴忥細
memcached涔熷彲浠ヤ娇鐢–MemCache銆 璁剧疆useMemcached涓簍rue浠ヤ娇鐢╩emcached銆
閫氳繃璁剧疆servers灞炴э紝鍙互涓篊MemCache 璁剧疆涓绯诲垪鐨刴emcache鏈嶅姟鍣ㄣ傞粯璁ゆ儏鍐碉紝CMemCache璁や负鍙湁 涓鍙癿emcache鏈嶅姟鍣ㄤ綅浜巐ocalhost鐨11211绔彛銆
鏌ョ湅CCache鎿嶄綔鎵嬪唽浠ヤ簡瑙MemCache鏀寔鐨勫父鐢ㄧ紦瀛樻搷浣溿
娉ㄦ剰锛屾病鏈夊畨鍏ㄦ帾鏂戒互淇濇姢memcache涓殑鏁版嵁銆 杩愯浜庣郴缁熶腑鐨勪换浣曡繘绋嬮兘鍙互璁块棶memcache涓殑鎵鏈夋暟鎹
瑕佷娇鐢–MemCache浣滀负缂撳瓨搴旂敤缁勪欢锛屽涓嬮厤缃簲鐢ㄧ▼搴忥細
array( 'components'=>array( 'cache'=>array( 'class'=>'CMemCache', 'servers'=>array( array( 'host'=>'server1', 'port'=>11211, 'weight'=>60, ), array( 'host'=>'server2', 'port'=>11211, 'weight'=>40, ), ), ), ), )鍦ㄤ笂闈紝浣跨敤浜嗕袱涓猰emcache鏈嶅姟鍣細server1鍜宻erver2銆 浣犲彲浠ヨ缃瘡涓湇鍔″櫒鐨勫睘鎬э紝鍖呮嫭锛 host, port, persistent, weight, timeout, retryInterval, status. 鍙傝http://www.php.net/manual/en/function.memcache-addserver.php 浜嗚В鏇村璇︽儏
memcached涔熷彲浠ヤ娇鐢–MemCache銆 璁剧疆useMemcached涓簍rue浠ヤ娇鐢╩emcached銆
鍏叡灞炴
灞炴 | 绫诲瀷 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|---|
behaviors | array | 杩欎釜搴旂敤缁勪欢闄勫姞鐨勮涓恒 杩欐琛屼负灏嗗湪搴旂敤缁勪欢璋冪敤init鏃堕檮鍔犲湪搴旂敤缁勪欢涓娿 璇峰弬鐓CModel::behaviors濡備綍鎸囧畾姝ゅ睘鎬у笺 | CApplicationComponent |
isInitialized | boolean | 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 | CApplicationComponent |
keyPrefix | string | 鍔犲湪姣忎釜缂撳瓨閿悕鍓嶇殑瀛楃涓蹭互淇濊瘉閿悕鏄敮涓鐨勩傞粯璁ゅ兼槸application ID銆 | CCache |
memCache | mixed | 鏈粍浠朵娇鐢ㄧ殑memcache瀹炰緥锛堟垨鑰卪emcached瀹炰緥褰useMemcached涓簍rue锛夈 | CMemCache |
servers | array | memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犻兘鏄竴涓CMemCacheServerConfiguration銆 | CMemCache |
useMemcached | boolean | 鏄惁浣跨敤memcached鎴栬卪emcache浣滀负搴曞眰缂撳瓨鎵╁睍銆 鑻ヤ负true锛屽垯浣跨敤{@link http://pecl. | CMemCache |
鍏叡鏂规硶
鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|
__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 |
getMemCache() | 杩斿洖鏈粍浠朵娇鐢ㄧ殑memcache瀹炰緥锛堟垨鑰卪emcached瀹炰緥褰useMemcached涓簍rue锛夈 | CMemCache |
getServers() | 杩斿洖memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犻兘鏄竴涓CMemCacheServerConfiguration銆 | CMemCache |
hasEvent() | 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 | CComponent |
hasEventHandler() | 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 | CComponent |
hasProperty() | 纭畾灞炴ф槸鍚﹁瀹氫箟銆 | CComponent |
init() | 鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 | CMemCache |
mget() | 浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 | CCache |
offsetExists() | 杩斿洖鎸囧畾閿悕鐨勭紦瀛樻潯鐩槸鍚﹀瓨鍦ㄣ | CCache |
offsetGet() | 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 | CCache |
offsetSet() | 寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 | CCache |
offsetUnset() | 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 | CCache |
raiseEvent() | 鍙戣捣涓涓簨浠躲 | CComponent |
set() | 鏍规嵁涓涓敤浠ョ攧鍒殑閿悕寰缂撳瓨涓瓨鍌ㄤ竴涓笺 | CCache |
setServers() | 璁剧疆memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犲繀椤绘槸涓涓暟缁勶紝 鍖呭惈濡備笅閿悕锛歨ost, port, persistent, weight, timeout, retryInterval, status銆 | CMemCache |
鍙椾繚鎶ゆ柟娉
鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|
addValue() | 浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 | CMemCache |
deleteValue() | 浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 | CMemCache |
flushValues() | 鍒犻櫎鎵鏈夌紦瀛樺笺 | CMemCache |
generateUniqueKey() | CCache | |
getValue() | 浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 | CMemCache |
getValues() | 浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺 | CMemCache |
setValue() | 寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 | CMemCache |
灞炴ц缁
memCache
灞炴
鍙
public mixed getMemCache()
鏈粍浠朵娇鐢ㄧ殑memcache瀹炰緥锛堟垨鑰卪emcached瀹炰緥褰useMemcached涓簍rue锛夈
servers
灞炴
memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犻兘鏄竴涓CMemCacheServerConfiguration銆
useMemcached
灞炴
public boolean $useMemcached;
鏄惁浣跨敤memcached鎴栬卪emcache浣滀负搴曞眰缂撳瓨鎵╁睍銆 鑻ヤ负true锛屽垯浣跨敤memcached銆 鑻ヤ负false锛屽垯浣跨敤memcache銆 Defaults to false.
鏂规硶璇︾粏
addValue()
鏂规硶
protected boolean addValue(string $key, string $value, integer $expire)
| ||
$key | string | 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕 |
$value | string | 瑕佺紦瀛樼殑鍊 |
$expire | integer | 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴 |
{return} | boolean | 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse |
婧愮爜锛 framework/caching/CMemCache.php#184 (鏄剧ず)
protected function addValue($key,$value,$expire)
{
if($expire>0)
$expire+=time();
else
$expire=0;
return $this->useMemcached ? $this->_cache->add($key,$value,$expire) : $this->_cache->add($key,$value,0,$expire);
}
浠呬粎鍦ㄧ攧鍒紦瀛樺肩殑閿悕涓嶅瓨鍦ㄧ殑鎯呭喌涓嬶紝寰缂撳瓨涓瓨鍌ㄥ笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆
deleteValue()
鏂规硶
protected boolean deleteValue(string $key)
| ||
$key | string | 瑕佸垹闄ゅ肩殑閿悕 |
{return} | boolean | 濡傛灉鍒犻櫎鏈熼棿娌℃湁鍙戠敓閿欒 |
婧愮爜锛 framework/caching/CMemCache.php#200 (鏄剧ず)
protected function deleteValue($key)
{
return $this->_cache->delete($key, 0);
}
浠庣紦瀛樹腑鍒犻櫎鎸囧畾閿悕瀵瑰簲鐨勫 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆
flushValues()
鏂规硶
锛堝彲鐢ㄨ嚜 v1.1.5锛
protected boolean flushValues()
| ||
{return} | boolean | 濡傛灉娓呯┖鎿嶄綔鎴愬姛鎵ц銆 |
婧愮爜锛 framework/caching/CMemCache.php#211 (鏄剧ず)
protected function flushValues()
{
return $this->_cache->flush();
}
鍒犻櫎鎵鏈夌紦瀛樺笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆
getMemCache()
鏂规硶
public mixed getMemCache()
| ||
{return} | mixed | 鏈粍浠朵娇鐢ㄧ殑memcache瀹炰緥锛堟垨鑰卪emcached瀹炰緥褰useMemcached涓簍rue锛夈 |
婧愮爜锛 framework/caching/CMemCache.php#108 (鏄剧ず)
public function getMemCache()
{
if($this->_cache!==null)
return $this->_cache;
else
return $this->_cache=$this->useMemcached ? new Memcached : new Memcache;
}
getServers()
鏂规硶
public array getServers()
| ||
{return} | array | memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犻兘鏄竴涓CMemCacheServerConfiguration銆 |
婧愮爜锛 framework/caching/CMemCache.php#119 (鏄剧ず)
public function getServers()
{
return $this->_servers;
}
getValue()
鏂规硶
protected string getValue(string $key)
| ||
$key | string | 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑鍞竴閿悕 |
{return} | string | 缂撳瓨涓瓨鍌ㄧ殑鍊硷紝濡傛灉璇ュ间笉瀛樺湪鎴栬呭凡杩囨湡鍒欒繑鍥瀎alse銆 |
婧愮爜锛 framework/caching/CMemCache.php#141 (鏄剧ず)
protected function getValue($key)
{
return $this->_cache->get($key);
}
浠庣紦瀛樹腑妫绱竴涓尮閰嶆寚瀹氶敭鍚嶇殑鍊笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆
getValues()
鏂规硶
protected array getValues(array $keys)
| ||
$keys | array | 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕鍒楄〃 |
{return} | array | 浠$keys涓洪敭鍚嶇殑缂撳瓨鍊煎垪琛 |
婧愮爜锛 framework/caching/CMemCache.php#151 (鏄剧ず)
protected function getValues($keys)
{
return $this->useMemcached ? $this->_cache->getMulti($keys) : $this->_cache->get($keys);
}
浠庣紦瀛樹腑妫绱㈠嚭澶氫釜鍖归厤鎸囧畾閿悕鐨勫笺
init()
鏂规硶
public void init()
|
婧愮爜锛 framework/caching/CMemCache.php#86 (鏄剧ず)
public function init()
{
parent::init();
$servers=$this->getServers();
$cache=$this->getMemCache();
if(count($servers))
{
foreach($servers as $server)
{
if($this->useMemcached)
$cache->addServer($server->host,$server->port,$server->weight);
else
$cache->addServer($server->host,$server->port,$server->persistent,$server->weight,$server->timeout,$server->status);
}
}
else
$cache->addServer('localhost',11211);
}
鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 璇ユ柟娉曞湪鎺ュ彛IApplicationComponent涓湁瑕佹眰銆 瀹冨垱寤簃emcache瀹炰緥骞朵笖娣诲姞memcache鏈嶅姟鍣ㄣ
setServers()
鏂规硶
public void setServers(array $config)
| ||
$config | array | memcache鏈嶅姟鍣ㄩ厤缃垪琛ㄣ傛瘡涓厓绱犲繀椤绘槸涓涓暟缁勶紝 鍖呭惈濡備笅閿悕锛歨ost, port, persistent, weight, timeout, retryInterval, status銆 |
婧愮爜锛 framework/caching/CMemCache.php#129 (鏄剧ず)
public function setServers($config)
{
foreach($config as $c)
$this->_servers[]=new CMemCacheServerConfiguration($c);
}
setValue()
鏂规硶
protected boolean setValue(string $key, string $value, integer $expire)
| ||
$key | string | 鐢ㄤ互鐢勫埆缂撳瓨鍊肩殑閿悕 |
$value | string | 瑕佺紦瀛樼殑鍊 |
$expire | integer | 浠ョ涓哄崟浣嶇殑鏁板硷紝琛ㄧず缂撳瓨鐨勮繃鏈熸椂闂淬備负0鍒欐案涓嶈繃鏈熴 |
{return} | boolean | 鎴愬姛瀛樺偍鍒扮紦瀛樹腑鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse |
婧愮爜锛 framework/caching/CMemCache.php#165 (鏄剧ず)
protected function setValue($key,$value,$expire)
{
if($expire>0)
$expire+=time();
else
$expire=0;
return $this->useMemcached ? $this->_cache->set($key,$value,$expire) : $this->_cache->set($key,$value,0,$expire);
}
寰缂撳瓨涓瓨鍌ㄤ竴涓敤閿悕鍖哄垎鐨勫笺 杩欐槸鍦ㄧ埗绫讳腑瀹氫箟鐨勬柟娉曠殑鍏蜂綋瀹炵幇銆