Les fonctions de rappel sur clé absente sont appelées quand un élément ne peut
pas être lu sur le serveur. La fonction de rappel reçoit un objet Memcached,
la clé demandée, et une valeur de variable par référence. La fonction de rappel
est alors responsable d'affecter la valeur, puis de retourner
TRUE
ou FALSE
. Si la fonction de rappel retourne TRUE
Memcached va stocker la valeur ainsi créée dans le serveur, et la retourner
à la fonction appelante. Seules Memcached::get() et
Memcached::getByKey() supportent ces fonctions,
car le protocole memcache ne fournit aucune information sur l'absence de
clé dans une requête multiclé.
Exemple #1 Fonctions de rappel sur clé absente
<?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);
/* Lit un profil dans une base de données */
/* ... */
$value = $profile_info;
return true;
}
?>