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 — Solicita vários itens
   Memcached::getDelayed() emite uma solicitação ao memcache
   para vários itens cujas chaves são especificadas no
   array keys. O método não espera resposta e retorna
   imediatamente. Quando estiver pronto para coletar os itens, chame
   Memcached::fetch() ou
   Memcached::fetchAll(). Se with_cas
   for true, os valores do token CAS também serão solicitados.
  
   Em vez de buscar os resultados explicitamente, você pode especificar um callback de resultado via
   o parâmetro value_cb.
  
keysArray de chaves a ser recuperado.
with_casSe os valores de token CAS também devem ser solicitados.
value_cb
       O resultado de callback ou null.
      
   Retorna true em caso de sucesso ou false em caso de falha.
   Use Memcached::getResultCode() se necessário.
  
Exemplo #1 Exemplo 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());
?>O exemplo acima produzirá:
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.