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 — Request multiple items
Opis
$keys
[, bool $with_cas
[, callable $value_cb
]] )
Memcached::getDelayed() issues a request to memcache for
multiple items the keys of which are specified in the
keys array. The method does not wait for response
and returns right away. When you are ready to collect the items, call
either Memcached::fetch() or
Memcached::fetchAll(). If with_cas
is true, the CAS token values will also be requested.
Instead of fetching the results explicitly, you can specify a result callback via
value_cb parameter.
Parametry
-
keys -
Array of keys to request.
-
with_cas -
Whether to request CAS token values also.
-
value_cb -
The result callback or
NULL.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w
przypadku błędu.
Użyj Memcached::getResultCode(), jeśli to konieczne.
Przykłady
Przykład #1 Memcached::getDelayed() example
<?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());
?>
Powyższy przykład wyświetli:
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)
}
}
Zobacz też:
- Memcached::getDelayedByKey() - Request multiple items from a specific server
- Memcached::fetch() - Fetch the next result
- Memcached::fetchAll() - Fetch all the remaining results
