Memcached::getDelayed
(PECL memcached >= 0.1.0)
Memcached::getDelayed — 请求多个元素
说明
Memcached::getDelayed() 向 Memcached 服务端发出一个检索 keys 指定的多个
key 对应元素的请求。这个方法不会等待响应而是立即返回。当你需要收集元素值时,调用 Memcached::fetch() 或
Memcached::fetchAll()。如果 with_cas 设置为 true,会同时请求每个元素的 CAS 标记。
可以通过参数 value_cb 指定一个 result callback 来替代明确的抓取结果(fetch 或 fetchAll 为明确抓取方式)。
返回值
成功时返回 true, 或者在失败时返回 false。
如需要则使用 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());
?>以上示例会输出:
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)
}
}
参见
- Memcached::getDelayedByKey() - 从指定的服务器上请求多个元素
- Memcached::fetch() - 读取下一个结果
- Memcached::fetchAll() - 读取所有剩余结果
+添加备注
用户贡献的备注 1 note
antmat at mail dot ru ¶
14 years ago
Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.