アイテムを取得する

# Memcached::get

(PECL memcached >= 0.1.0)

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

### 説明

public Memcached::get ( string `$key` [, callable `$cache_cb` [, int `$$flags` ]] ) : mixed

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

### パラメータ

`key`

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

`cache_cb`

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

`flags`

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

### 返り値

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

### 例

例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 {
/* エラーをログに記録します */
/* ... */
}
}
?>`

### 変更履歴

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

### 参考

- Memcached::getByKey() - 指定したサーバーからアイテムを取得する
- Memcached::getMulti() - 複数のアイテムを取得する
- Memcached::getDelayed() - 複数のアイテムを要求する