Read-through キャッシュコールバック
Read-through キャッシュコールバックが起動されるのは、 アイテムをサーバーから取得できなかったときです。 このコールバックに渡されるのは Memcached オブジェクト、 要求されたキー、そして値を格納する変数への参照です。 このコールバックの役割は、値を設定して true あるいは false を返すことです。 コールバックが true を返した場合は、 Memcached は設定された値をサーバーに格納して呼び出し元の関数にその値を返します。 このコールバックをサポートしているのは Memcached::get() と Memcached::getByKey() のみです。 というのも memcache プロトコルでは、 複数のキーが要求されたときにどのキーが見つからなかったのかを知る方法がないからです。
例1 Read-through コールバックの例
<?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); /* プロファイル情報を DB から探します */ /* ... */ $value = $profile_info; return true;}?>