PHP 7.2.0 Release Candidate 4 Released

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed複数のアイテムを要求する

説明

public bool Memcached::getDelayed ( array $keys [, bool $with_cas [, callable $value_cb ]] )

Memcached::getDelayed() は、keys 配列で指定した複数のキーのアイテムに対するリクエストを memcache に発行します。 このメソッドはサーバーからの応答を待たずにすぐに結果を返します。 アイテムを使用したくなったときには Memcached::fetch() あるいは Memcached::fetchAll() をコールします。 with_cas が true の場合は CAS トークンの値もリクエストします。

結果を明示的に取得するのではなく、result コールバックvalue_cb パラメータで指定することもできます。

パラメータ

keys

要求するキーの配列。

with_cas

CAS トークンの値も要求するかどうか。

value_cb

result コールバック、あるいは 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)
  }
}

参考

add a note add a note

User Contributed Notes 1 note

up
1
antmat at mail dot ru
6 years ago
Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.
To Top