(PECL memcached >= 0.1.0)
Memcached::getDelayed — 請(qǐng)求多個(gè)元素
$keys, bool $with_cas = ?, callback $value_cb = ?): bool
Memcached::getDelayed()向Memcached服務(wù)端發(fā)出一個(gè)檢索keys指定的多個(gè)
key對(duì)應(yīng)元素的請(qǐng)求。這個(gè)方法不會(huì)等待響應(yīng)而是立即返回。當(dāng)你需要收集元素值時(shí), 調(diào)用Memcached::fetch()或
Memcached::fetchAll()。如果with_cas設(shè)置為true,會(huì)同時(shí)請(qǐng)求每個(gè)元素的CAS標(biāo)記。
可以通過參數(shù)value_cb指定一個(gè)result callback來替代明確的抓取結(jié)果(fetch或fetchAll為明確抓取方式)。
keys要請(qǐng)求的key的數(shù)組。
with_cas是否同時(shí)請(qǐng)求CAS標(biāo)記。
value_cb
結(jié)果回掉函數(shù)或null。
成功時(shí)返回 true, 或者在失敗時(shí)返回 false。
如需要?jiǎng)t使用 Memcached::getResultCode()。
示例 #1 Memcached::getDelayed() 示例
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>
以上例程會(huì)輸出:
array(2) {
[0]=>
array(3) {
["key"]=>
string(3) "int"
["value"]=>
int(99)
["cas"]=>
float(2363)
}
[1]=>
array(3) {
["key"]=>
string(5) "array"
["value"]=>
array(2) {
[0]=>
int(11)
[1]=>
int(12)
}
["cas"]=>
float(2365)
}
}