PHP Conference Japan 2024

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed請求多個項目

說明

public Memcached::getDelayed(陣列 $keys, 布林值 $with_cas = false, ?可呼叫 $value_cb = null): 布林值

Memcached::getDelayed() 會向 memcache 發出請求,以取得多個項目,這些項目的鍵值指定於 keys 陣列中。此方法不會等待回應,會立即返回。當您準備好收集項目時,請呼叫 Memcached::fetch()Memcached::fetchAll()。如果 with_cas 為 true,也會請求 CAS 權杖值。

除了明確提取結果之外,您還可以透過 value_cb 參數指定 結果回呼

參數

keys

要請求的鍵值陣列。

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

另請參閱

新增註解

使用者貢獻的註解 1 則註解

2
antmat at mail dot ru
13 年前
實際上,當您傳遞一個回呼函式時,方法不會立即返回,而是會等待結果並呼叫回呼函式。
To Top