Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.
(PECL memcached >= 0.1.0)
Memcached::getDelayed — Obtener varios ítems
Memcached::getDelayed() envía una petición a memcache de
varios ítems con las claves que se especifican en el array
keys
. El método no espera una respuesta
y devuelve inmediatamente. En cuanto se puedan obtener los ítems, se ha de llamar
a Memcached::fetch() o
Memcached::fetchAll(). Si with_cas
es true, los valores del token CAS también serán solicitados.
En lugar de obtener los resultados explícitamente, se puede especificar una retrollamada de resultados mediante el
parámetro value_cb
.
keys
Array de claves a solicitar.
with_cas
Si solicitar también los valores del token CAS.
value_cb
La retrollamada de resultados o null
.
Devuelve true
en caso de éxito o false
en caso de error.
Emplee Memcached::getResultCode() si fuera necesario.
Ejemplo #1 Ejemplo de Memcached::getDelayed()
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('int', 99);
$m->set('string', 'un string sencillo');
$m->set('array', array(11, 12));
$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>
El resultado del ejemplo sería:
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) } }
Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.