Memcached::get

(PECL memcached >= 0.1.0)

Memcached::getアイテムを取得する

説明

public Memcached::get(string $key, callable $cache_cb = ?, int $flags = ?): mixed

Memcached::get() は、キー key に格納されたアイテムを返します。 アイテムが存在して flagsMemcached::GET_EXTENDED が指定されていた場合には、 そのアイテムの CAS トークンの値も返します。CAS トークンの使用法は Memcached::cas() を参照ください。Read-through キャッシュコールバックcache_cb パラメータで指定します。

パラメータ

key

取得したいアイテムのキー。

cache_cb

Read-through キャッシュコールバック、あるいは null

flags

返される結果を制御するフラグ。Memcached::GET_EXTENDED を指定すると、CAS トークンも返すようになります。

戻り値

キャッシュに格納された値、あるいは false を返します。 flagsMemcached::GET_EXTENDED が設定されている場合は、キャッシュに格納された値と CAS トークンを含む配列を返します。 キーが存在しない場合、 Memcached::getResultCode()Memcached::RES_NOTFOUND を返します。

変更履歴

バージョン 説明
PECL memcached 3.0.0 &cas_token パラメータが削除されました。 その代わりに新たに flags パラメータが追加され、ここに Memcached::GET_EXTENDED を指定すると、CAS トークンも含めて取得するようになります。

例1 Memcached::get() の例 #1

<?php
$m 
= new Memcached();
$m->addServer('localhost'11211);

$m->set('foo'100);
var_dump($m->get('foo'));
?>

上の例の出力は以下となります。

int(100)

例2 Memcached::get() の例 #2

<?php
$m 
= new Memcached();
$m->addServer('localhost'11211);

if (!(
$ip $m->get('ip_block'))) {
    if (
$m->getResultCode() == Memcached::RES_NOTFOUND) {
        
$ip = array();
        
$m->set('ip_block'$ip);
    } else {
        
/* エラーをログに記録します */
        /* ...                      */
    
}
}
?>

参考

関連キーワード:  アイテム, Memcached, 取得, flags, CAS, キャッシュ, パラメータ, key, キー, 格納