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 — Lit plusieurs éléments
Memcached::getDelayed() émet une commande à memcache pour
lire plusieurs clé qui sont spécifiées dans le tableau keys
.
La méthode n'attend pas la réponse et retourne immédiatement. Lorsque vous êtes prêts
à lire les éléments, appelez les méthodes Memcached::fetch() ou
Memcached::fetchAll(). Si with_cas
vaut true
le CAS sera aussi lu.
Au lieu de lire les résultats explicitement, vous pouvez spécifier une
fonction de rappel de résultats via
le paramètre value_cb
.
keys
Un tableau de clé à lire.
with_cas
S'il faut lire les CAS.
value_cb
Une fonction de rappel de résultats, ou null
.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Utilisez Memcached::getResultCode()
si nécessaire.
Exemple #1 Exemple avec 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());
?>
L'exemple ci-dessus va afficher :
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.