Result callbacks

Result callbacks are invoked by Memcached::getDelayed() or Memcached::getDelayedBykey() methods for each item in the result set. The callback is passed the Memcached object and the array with the item information. The callback does not have to return anything.

Пример #1 Result callback example

<?php
$m 
= new Memcached();
$m->addServer('localhost'11211);
$items = array(
    
'key1' => 'value1',
    
'key2' => 'value2',
    
'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1''key3'), true'result_cb');

function 
result_cb($memc$item)
{
    
var_dump($item);
}
?>

Результатом выполнения данного примера будет что-то подобное:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}

Коментарии

I was having trouble making method calls with the result callbacks in getDelayed, so I emailed the developer.

If you want to use a non-static method as a callback, use the following format: array($obj, 'method'); for example:

<?php
class foo {
    private 
$M false;
   
    public function 
__construct() {
       
$this->= new Memcached();
       
$this->M->addServer('localhost'11211);       
       
$this->M->set('a''test');
    }

    public function 
test() {
       
$this->M->getDelayed(array('a'), false, array($this'fun'));
    }
   
    public function 
fun() {
        echo 
"Great Success!";
    }
}

$f = new foo();
$f->test();
?>

or, alternatively:

<?php
class foo {
    public 
$M false;
   
    public function 
__construct() {
       
$this->= new Memcached();
       
$this->M->addServer('localhost'11211);       
       
$this->M->set('a''test');
    }
   
    public function 
fun() {
        echo 
"Great Success!";
    }
}

$f = new foo();
$f->M->getDelayed(array('a'), false, array($f'fun'));
?>

Works great, thanks Andrei :)
2009-03-11 19:54:11
http://php5.kiev.ua/manual/ru/memcached.callbacks.result.html

    Поддержать сайт на родительском проекте КГБ