通讀緩存回調(diào)

通讀緩存回調(diào)在一個元素沒有從服務端檢索到的時候被調(diào)用。這個回調(diào)函數(shù)會接收到Memcached對象,請求的key以及 一個引用方式傳遞的值變量等三個參數(shù)。此回調(diào)函數(shù)負責通過返回true或false來決定在key沒有值時設置一個默認值。 如果回調(diào)返回true,Memcached會存儲"傳出參數(shù)"(引用傳遞的值變量)存儲的值到memcached服務端并將其返回到原來 的調(diào)用函數(shù)中。僅僅Memcached::get()Memcached::getByKey() 支持這類回調(diào),因為Memcache協(xié)議不支持在請求多個key時提供未檢索到key的信息。

示例 #1 通讀回調(diào)示例

<?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($key5);
    
/* 從數(shù)據(jù)庫讀取個人信息 */
    /* ... */
    
$value $profile_info;
    return 
true;
}
?>