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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open