Memcached::get

(PECL memcached >= 0.1.0)

Memcached::getПолучение записи

Описание

public mixed Memcached::get ( string $key [, callable $cache_cb [, float &$cas_token ]] )

Memcached::get() возвращает запись, которая ранее была сохранена под ключом key. Если элемент не найден и переменная cas_token передана, то в неё будет записан CAS токен этой записи. Обратитесь к документации по Memcached::cas() для получения информации об использовании CAS токена. Чтение при помощи кэширующих callback-функций может быть использовано с помощью параметра cache_cb.

Список параметров

key

Ключ получаемой записи.

cache_cb

Функция обратного вызова для кэшируемого чтения или NULL.

cas_token

Переменная в которую записывается CAS токен.

Возвращаемые значения

Возвращает значение хранимое в кеше или FALSE в противном случае. Метод 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 {
        
/* log error */
        /* ...       */
    
}
}
?>

Смотрите также

Коментарии

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.

<?php
$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 :)
2009-07-17 04:31:34
http://php5.kiev.ua/manual/ru/memcached.get.html
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 :)
2011-01-17 08:01:36
http://php5.kiev.ua/manual/ru/memcached.get.html
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 https://github.com/php-memcached-dev/php-memcached/pull/214 for more details.

Basically you need to 
<?php
function memcacheGet($key$cb null, &$cas null) {
 
$m memcacheGetObject();
  if(empty(
$m))
    return 
false;
  if(
defined('Memcached::GET_EXTENDED')) {
   
//Incompatible change in php7, took me 2 hours to figure this out, grrr
   
$_o $m->get($key$cbMemcached::GET_EXTENDED);
   
$o $_o['value'];
   
$cas $_o['cas'];
  } else {
   
$o $m->get($key$cb$cas);
  }
  return 
$o;
}
?>
2017-05-23 13:58:15
http://php5.kiev.ua/manual/ru/memcached.get.html

    Поддержать сайт на родительском проекте КГБ