アイテムを取得する

# Memcached::get

(PECL memcached >= 0.1.0)

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

### 説明

public function Memcached::get(string `$key`, ?callable `$cache_cb` = `null`, int `$get_flags` = 0): mixed

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

### パラメータ

`key`

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

`cache_cb`

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

`get_flags`

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

### 戻り値

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

### 変更履歴

バージョン | 説明
--- | ---
PECL memcached 3.0.0 | `&cas_token` パラメータが削除されました。 その代わりに新たに `get_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::getByKey() - 指定したサーバーからアイテムを取得する
- Memcached::getMulti() - 複数のアイテムを取得する
- Memcached::getDelayed() - 複数のアイテムを要求する

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