Memcached::get

Retrieve an item

Description

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

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
  • Memcached::getMulti
  • Memcached::getDelayed