Php/docs/memcached.callbacks.read-through

来自菜鸟教程
跳转至:导航、​搜索

通读缓存回调

通读缓存回调在一个元素没有从服务端检索到的时候被调用。这个回调函数会接收到Memcached对象,请求的key以及 一个引用方式传递的值变量等三个参数。此回调函数负责通过返回true或false来决定在key没有值时设置一个默认值。 如果回调返回true,Memcached会存储"传出参数"(引用传递的值变量)存储的值到memcached服务端并将其返回到原来 的调用函数中。仅仅Memcached::get()Memcached::getByKey() 支持这类回调,因为Memcache协议不支持在请求多个key时提供未检索到key的信息。

Example #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;}?>