PHP Memcached isset

Ale*_*ley 2 php memcached isset

知道PHP的memcached模块是否支持某种isset()方法?

以下案例:

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

if(Memcached::get('foo') === false) {
        // Set or not set?
}
Run Code Online (Sandbox Code Playgroud)

Wri*_*ken 5

根据文件

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

您当然可以扩展Memcached对象以包含它,但是,您不能在没有得到它的情况下询问它是否设置(较大值的某些开销):

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

(您不能将其isset用作方法名称,因为它显然是一种语言构造).