(PECL memcache >= 0.2.0)
Memcache::get — 從服務(wù)端檢回一個(gè)元素
$key
, int &$flags
= ?): string$keys
, array &$flags
= ?): array
如果服務(wù)端之前有以key
作為key存儲(chǔ)的元素,Memcache::get()方法此時(shí)返回之前存儲(chǔ)的值。
你可以給Memcache::get()方法傳遞一個(gè)數(shù)組(多個(gè)key)來(lái)獲取一個(gè)數(shù)組的元素值,返回的數(shù)組僅僅包含從 服務(wù)端查找到的key-value對(duì)。
key
要獲取值的key或key數(shù)組。
flags
如果給定這個(gè)參數(shù)(以引用方式傳遞),該參數(shù)會(huì)被寫入一些key對(duì)應(yīng)的信息。這些標(biāo)記和Memcache::set()方法中的同名參數(shù) 意義相同。用int值的低位保留了pecl/memcache的內(nèi)部用法(比如:用來(lái)說(shuō)明壓縮和序列化狀態(tài))。(譯注:最后一位表明是否序列化,倒數(shù)第二位表明是否經(jīng)過(guò)壓縮, 比如:如果此值為1表示經(jīng)過(guò)序列化,但未經(jīng)過(guò)壓縮,2表明壓縮而未序列化,3表明壓縮并且序列化,0表明未經(jīng)過(guò)壓縮和序列化,具體算法可查找linux文件權(quán)限算法相關(guān)資料)
返回key
對(duì)應(yīng)的存儲(chǔ)元素的字符串值或者在失敗或key
未找到的時(shí)候返回false
。
示例 #1 Memcache::get() 示例
<?php
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');
/*
你同樣可以使用數(shù)組key作為參數(shù),如果某個(gè)元素沒(méi)有在服務(wù)端發(fā)現(xiàn),結(jié)果數(shù)組中將不會(huì)包含這些key。
*/
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));
?>