Php/docs/memcached.callbacks.read-through

提供:Dev Guides
< Php
移動先:案内検索

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