2013-06-06 3 views
2

Любая идея, если модуль memcached PHP поддерживает какой-то метод isset()?PHP Memcached isset

После случая:

Memcached::set('foo', false); 

if(Memcached::get('foo') === false) { 
     // Set or not set? 
} 

ответ

5

according to the documentation

if($memcached->get('var') === false && $memcached->getResultCode() == Memcached::RES_NOTFOUND){ 
    //not set 
} 

Конечно, Вы можете расширить Memcached объект включить его, однако, вы не можете спросить, если он установлен, не получая его (некоторые накладные расходы на больших значениях):

class YourMemcached extends Memcached { 
    function var_isset($var){ 
     return $this->get($var)!==false || $this->getResultCode() != Memcached::RES_NOTFOUND; 
    } 
} 

(вы не можете использовать isset как имя метода, так как это языковая конструкция).