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 — Lee varios elementos
Memcached::getDelayed() envía una orden a memcache para
leer varias claves que se especifican en el array keys
.
El método no espera la respuesta y devuelve inmediatamente. Cuando se esté
listo para leer los elementos, se llaman los métodos Memcached::fetch() o
Memcached::fetchAll(). Si with_cas
es true
también se leerá el CAS.
En lugar de leer los resultados explícitamente, se puede especificar una
función de devolución de llamada de resultados mediante
el argumento value_cb
.
keys
Un array de claves a leer.
with_cas
Si se deben leer los CAS.
value_cb
Una función de devolución de llamada de resultados, o null
.
Esta función retorna true
en caso de éxito o false
si ocurre un error.
Use Memcached::getResultCode() if necessary.
Ejemplo #1 Ejemplo con 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());
?>
El ejemplo anterior mostrará :
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.