- PHP 手册
- 函数参考
- 其它服务
- Memcached
- Memcached
Memcached::getDelayed
(PECL memcached >= 0.1.0)
Memcached::getDelayed — 请求多个元素
说明
public Memcached::getDelayed(array$keys
, bool $with_cas
= ?, callback $value_cb
= ?): bool
Memcached::getDelayed()向Memcached服务端发出一个检索keys
指定的多个
key对应元素的请求。这个方法不会等待响应而是立即返回。当你需要收集元素值时, 调用Memcached::fetch()或
Memcached::fetchAll()。如果with_cas
设置为true,会同时请求每个元素的CAS标记。
可以通过参数value_cb
指定一个result callback来替代明确的抓取结果(fetch或fetchAll为明确抓取方式)。
参数
-
keys
-
要请求的key的数组。
-
with_cas
-
是否同时请求CAS标记。
-
value_cb
-
结果回掉函数或
null
。
返回值
成功时返回 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() - 抓取所有剩余的结果
User Contributed Notes 1 note
up down 2 antmat at mail dot ru ¶11 years ago
Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.
add a note
官方地址:https://www.php.net/manual/en/memcached.getdelayed.php