CakeFest 2024: The Official CakePHP Conference

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayedЗапрашивает несколько записей

Описание

public Memcached::getDelayed(array $keys, bool $with_cas = false, ?callable $value_cb = null): bool

Memcached::getDelayed() запрашивает у memcache несколько записей, ключи которых переданы в массиве keys. Данный метод не дожидается ответа и возвращает значение сразу. Когда вы будете готовы получить записи, сделайте вызов метода Memcached::fetch() или Memcached::fetchAll(). Если параметр with_cas установлен в true, то CAS токены также будут запрошены.

Вместо получения результатов в явном виде, вы можете указать callback-функцию для получения результата с помощью параметра value_cb.

Список параметров

keys

Массив с ключами для запроса записей.

with_cas

Запрашивать ли CAS токены записей вместе со значениями.

value_cb

Callback-Функция, возвращающая результат, или 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)
  }
}

Смотрите также

add a note

User Contributed Notes 1 note

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