(PECL memcached >= 0.1.0)

Memcached::getRetrieve an item


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

Memcached::get() returns the item that was previously stored under the key. If the item is found and for flags is given Memcached::GET_EXTENDED, it will 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.

Elenco dei parametri


The key of the item to retrieve.


Read-through caching callback or NULL.


Flags to control the returned result. When value of Memcached::GET_EXTENDED is given will return the CAS token.

Valori restituiti

Returns the value stored in the cache or FALSE otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.


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

= new Memcached();


Il precedente esempio visualizzerĂ :


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

= new Memcached();

if (!(
$ip $m->get('ip_block'))) {
    if (
$m->getResultCode() == Memcached::RES_NOTFOUND) {
$ip = array();
    } else {
/* log error */
        /* ...       */

Log delle modifiche

Versione Descrizione
3.0.0 The &cas_token parameter was removed. Instead flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched.

Vedere anche:

add a note add a note

User Contributed Notes 3 notes

miha at hribar dot info
8 years ago
This method also returns false in case you set the value to false, so in order to have a proper fault mechanism in place you need to check the result code to be certain that a key really does not exist in memcached.

= new Memcached();
$Memcached->addServer('localhost', 11211);
$Memcached->set('key', false);
var_dump($Memcached->get('key'));       // boolean false
var_dump($Memcached->getResultCode());  // int 0 which is Memcached::RES_SUCCESS

Or just make sure the values are not false :)
letynsoft at gmail dot com
9 months ago
As of some version of php7 (i was not able to determine which exactly).
The $cas_token is no longer valid argument. It has been removed in favor of flags argument, as it appears to be causing issues when subclassing the Memcached class.

See for more details.

Basically you need to
function memcacheGet($key, $cb = null, &$cas = null) {
$m = memcacheGetObject();
defined('Memcached::GET_EXTENDED')) {
//Incompatible change in php7, took me 2 hours to figure this out, grrr
$_o = $m->get($key, $cb, Memcached::GET_EXTENDED);
$o = $_o['value'];
$cas = $_o['cas'];
  } else {
$o = $m->get($key, $cb, $cas);
7 years ago
Note that this function can return NULL as FALSE, so don't make checks with === FALSE as with the old Memcache class, because it won't work. :O

Use the not (!) operator and check the result code with getResultCode() as mentioned in the documentation :)
To Top