Данные функции вызываются в случае, когда невозможно получить запрошенное значение.
В функцию обратного вызова передается объект Memcached и запрошенный ключ, а так же
передается по ссылке переменная для возврата значения. Функция должна вернуть
FALSE
или TRUE
. Если TRUE
, то Memcached сохранит полученное значение и вернет
его оригинальной функции. Данные функции обратного вызова используются только с
Memcached::get() и
Memcached::getByKey(), так как протокол не предоставляет
информации о том, какие ключи не найдены, при пакетных запросах.
Пример #1 Пример использования
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$profile_info = $m->get('user:'.$user_id, 'user_info_cb');
function user_info_cb($memc, $key, &$value)
{
$user_id = substr($key, 5);
/* ищем необходимые данные в БД */
/* ... */
$value = $profile_info;
return true;
}
?>