Php/docs/memcached.getdelayed

来自菜鸟教程
跳转至:导航、​搜索

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()


范例

Example #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)
  }
}

参见