isAjax()) { $keys[] = 'AJAX'; } foreach ($values as $item) { if ($item) { $keys[] = $item; } } $cacheKey = 'VISIT:' . implode(':', $keys); LogService::debug($cacheKey); $value = Redis::instance()->incrBy($cacheKey, 1); Redis::instance()->expire($cacheKey, 60); if ($value >= $limit) { $this->setCode(ErrorCodeConstants::VISIT_EXCEED)->setMsg('访问过于频繁,请稍后再试'); if ($value == $limit) { LogService::info('EXCEED:limit:' . $cacheKey . ':' . $value . '>=' . $limit); } else { LogService::info('EXCEED:cache:' . $cacheKey . ':' . $value . '>=' . $limit); } } else { LogService::debug('NORMAL:cache:' . $cacheKey . ':' . $value . '<' . $limit); } return $this->getReturn(); } /** * @param $admin_id * @param $uri * @return \app\main\model\object\ReturnObject */ public function visitAdminUri($admin_id, $uri) { $adminUriLimit = Config::get('site.adminurilimit'); if (!$adminUriLimit) { $adminUriLimit = 200; } return $this->visitLimit($adminUriLimit, $admin_id, $uri); } /** * @param $ip * @param $uri * @return \app\main\model\object\ReturnObject */ public function visitIpUri($ip, $uri) { $ipUriLimit = Config::get('site.ipurilimit'); if (!$ipUriLimit) { $ipUriLimit = 200; } return $this->visitLimit($ipUriLimit, $ip, $uri); } public function checkMigratedV2() { return false; } public function checkMigrated() { return false; } }