public function set($key, $val, $expiresTime = 86400) { if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'spider')) { return false; } // 应对百度蜘蛛 并不缓存 if (empty($key)) { return false; } //defensive 缓存指向 redis 备份 if (strpos($key, "defensive0307_") !== false) { $cache = API_Redis_Factory::getInstance(API_Redis::PREFIX_BLOCK); return $cache->set($key, $val, $expiresTime); } $val = igbinary_serialize($val); if (strlen($val) > 1000000) { //这里保留原key信息,即使含有空格/控制字符等非支持字符也保留,为查询更方便 API_Logger::Write("memcachedseterror", "msgTooLong:" . $this->getPrefix() . $key, "memcached"); return false; } if ($expiresTime <= 0 || $expiresTime > 21600) { $expiresTime = 21600; } if (!$this->canUseCache()) { return false; } API_Benchmark::Counter('mc_set'); $setReturn = $this->_instance->set($this->genNewKey($key), $val, $expiresTime); if ($setReturn == false) { $errMessage = $this->_instance->getResultMessage(); $errCode = $this->_instance->getResultCode(); //这里保留原key信息,即使含有空格/控制字符等非支持字符也保留,为查询更方便 API_Logger::Write("memcachedseterror", "errMessage:" . $errMessage . '|errCode:' . $errCode . '|errKey:' . $this->getPrefix() . $key, "memcached"); } return $setReturn; }
public function getSlaveBackClient() { if ($this->slaveBackClient) { return $this->slaveBackClient; } API_Redis_Factory::fetchRedisClient($this, "slaveback"); if ($this->slaveBackClient) { return $this->slaveBackClient; } else { return false; } }