Actually, when you pass a callback, method doesn't return immediately, but waits for results and calls callback function.
Memcached::getDelayed
(PECL memcached >= 0.1.0)
Memcached::getDelayed — Obtener varios ítems
Descripción
Memcached::getDelayed() hace una petición a memcache de
múltiples ítems con las claves que se especifican en el array de
keys. El método no se espera a tener una respuesta
y devuelve el valor inmediatamente. Cuando se esté preparado para colectar los ítems, hay que llamar
Memcached::fetch() o
Memcached::fetchAll(). Si with_cas
es true, los valores del CAS token también serán solicitados.
En lugar de capturar los resultados explicitamente, se puede especificar un resultado de llamada de retorno usando el
parámetro value_cb.
Parámetros
-
keys -
Array de claves a solicitar.
-
with_cas -
Cuando solicitar valores CAS token.
-
value_cb -
El resultado de la llamada de retorno o
NULL.
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Use Memcached::getResultCode() si es necesario.
Ejemplos
Ejemplo #1 Ejemplo de 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 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)
}
}
Ver también
- Memcached::getDelayedByKey() - Solicitar múltiples ítems de un servidor específico
- Memcached::fetch() - Obtener el siguiente resultado
- Memcached::fetchAll() - Obtener todos los resultados restantes
