Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed請求多個元素

說明

public Memcached::getDelayed(array $keys, bool $with_cas = ?, callback $value_cb = ?): bool

Memcached::getDelayed()向Memcached服務(wù)端發(fā)出一個檢索keys指定的多個 key對應(yīng)元素的請求。這個方法不會等待響應(yīng)而是立即返回。當(dāng)你需要收集元素值時, 調(diào)用Memcached::fetch()Memcached::fetchAll()。如果with_cas設(shè)置為true,會同時請求每個元素的CAS標(biāo)記。

可以通過參數(shù)value_cb指定一個result callback來替代明確的抓取結(jié)果(fetch或fetchAll為明確抓取方式)。

參數(shù)

keys

要請求的key的數(shù)組。

with_cas

是否同時請求CAS標(biāo)記。

value_cb

結(jié)果回掉函數(shù)或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(1112));

$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)
  }
}

參見