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 — Request multiple items
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.
keys
Array of keys to request.
with_cas
Whether to request CAS token values also.
value_cb
The result callback or null
.
Întoarce valoarea true
în cazul
succesului sau false
în cazul eșecului.
Utilizați
Memcached::getResultCode()
dacă e necesar.
Example #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());
?>
Exemplul de mai sus va afiș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.