Retrieve an item

- « Memcached::flush

- Memcached::getAllKeys »

- PHP Manual
- Memcached
- Retrieve an item

# Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Retrieve an item

### Description

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

Memcached::get() returns the item that was previously stored under the `key`. If the item is found and the `get_flags` is given `Memcached::GET_EXTENDED`, it will also return the CAS token value for the item. See Memcached::cas() for how to use CAS tokens. Read-through caching callback may be specified via `cache_cb` parameter.

### Parameters

`key`

  The key of the item to retrieve.

`cache_cb`

  Read-through caching callback or `null`.

`get_flags`

  Flags to control the returned result. When `Memcached::GET_EXTENDED` is given, the function will also return the CAS token.

### Return Values

Returns the value stored in the cache or `false` otherwise. If the `get_flags` is set to `Memcached::GET_EXTENDED`, an array containing the value and the CAS token is returned instead of only the value. The Memcached::getResultCode() will return `Memcached::RES_NOTFOUND` if the key does not exist.

### Changelog

Version | Description
--- | ---
PECL memcached 3.0.0 | The `&cas_token` parameter was removed. Instead `get_flags` was added and when it is given the value of `Memcached::GET_EXTENDED` it will ensure the CAS token to be fetched.

### Examples

Example #1 Memcached::get() example #1

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

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

The above example will output:

    int(100)

Example #2 Memcached::get() example #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 {
            /* log error */
            /* ...       */
        }
    }
    ?>

### See Also

- Memcached::getByKey() - Retrieve an item from a specific server
- Memcached::getMulti() - Retrieve multiple items
- Memcached::getDelayed() - Request multiple items