public function write($key, $val)
 {
     Zc::G('session start write to memcache');
     if (empty($val)) {
         $this->sessionLog->info("{$key} want to write, but {$val} is empty");
         return;
     } else {
         if ($this->sessionLog->isEnableLogLevel(ZcLog::DEBUG)) {
             $this->sessionLog->debug("start write [{$key}] [{$val}]");
         }
     }
     if ($this->masterConntected) {
         $retMaster = $this->masterMemcache->set($key, $val, 0, $this->lifeTime);
         if (!$retMaster) {
             $this->sessionLog->error("{$key} {$val} write to master failed. try slave");
         }
     }
     if ($this->slaveConntected) {
         $retSlave = $this->slaveMemcache->set($key, $val, 0, $this->lifeTime);
         if (!$retSlave) {
             $this->sessionLog->error("{$key} {$val} write to salve failed.");
         }
     }
     if ($this->sessionLog->isEnableLogLevel(ZcLog::DEBUG)) {
         $this->sessionLog->debug("write [{$key}] -> [{$val}], master write ret [" . $retMaster . '], slave write ret [' . $retSlave . ']');
     }
     if (!$retMaster && !$retSlave) {
         $this->sessionLog->error("write to master and slave are all failed. [{$key}] [{$val}]");
     }
     Zc::G('session end write to memcache');
 }
 public function close()
 {
     Zc::G(' memcache close start');
     $ret = $this->memcache->close();
     if (!$ret) {
         $this->log->error("memcache close failed!");
     }
     Zc::G(' memcache close end');
     return $ret;
 }