php之ThinkPHP的memcached类的修改

php之ThinkPHP的memcached类的修改


在ThinkCacheDriverMemcached.class.php中,增加方法获取错误信息的方法,方便调试,

public function getError(){
        if($this->handler->error){
            return $this->handler->error;
        }else{
            $code = $this->handler->getResultCode();
            $errMessage = $this->handler->getResultMessage();
            return 'Memcached Error : Code ' . $code .',Message:'. $errMessage . '.';
        }
    }

控制器中:

    public function test(){
        $mem_config = array(
                'servers'=>[['127.0.0.1',11211]],
                'prefix'=>'think',
                'expire'=>3600
        );
        $mc = new ThinkCacheDriverMemcached($mem_config);
        //这里会返回一个Memcached配置的对象,不能判断是否实例化成功。
        //需要在设置缓存是来判断是否成功
        $res = $mc->set("study", "Hello memcached!");
        if($res === false){
            $a = $mc->getError();
            var_dump($a);
        }else{
            //获取
            $study = $mc->get('study');
            dump($study);
        }
    }

原文地址:https://www.cnblogs.com/gyfluck/p/9636253.html