From f1f94474ff491d282eb51de85d6bbf312e8c46df Mon Sep 17 00:00:00 2001 From: liugang Date: Wed, 11 Dec 2024 13:32:06 +0800 Subject: [PATCH] * [refac] connect redis in baseHelper so that api can use it. --- framework/base/helper.class.php | 41 +++++++++++++++++++++++++++++++++ framework/helper.class.php | 41 --------------------------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/framework/base/helper.class.php b/framework/base/helper.class.php index 9cc60661bb..e12a2c0e5c 100644 --- a/framework/base/helper.class.php +++ b/framework/base/helper.class.php @@ -1093,6 +1093,47 @@ class baseHelper { throw EndResponseException::create($content); } + + /** + * 连接 Redis 服务器。 + * Connect to Redis server. + * + * @param object $setting + * @static + * @access public + * @return object + */ + public static function connectRedis(object $setting) + { + if(!class_exists('Redis')) throw new Exception('The Redis extension is not installed.'); + + try + { + $redis = new Redis(); + + $version = phpversion('redis'); + if(version_compare($version, '5.3.0', 'ge')) + { + $redis->connect($setting->host, (int)$setting->port, 1, null, 0, 0, ['auth' => [$setting->username ?: null, $setting->password ?: null]]); + } + else + { + $redis->connect($setting->host, (int)$setting->port, 1, null, 0, 0); + $redis->auth($setting->password ?: null); + } + + if(!$redis->ping()) throw new Exception('Can not connect to Redis server.'); + + $databases = $redis->config('GET', 'databases'); + if($setting->database >= $databases['databases']) throw new Exception("The database number is out of range. Your Redis server's max database number is " . ($databases['databases'] - 1) . '.'); + + return $redis; + } + catch(RedisException $e) + { + throw new Exception('Can not connect to Redis server. The error message is: ' . $e->getMessage()); + } + } } //------------------------------- 常用函数。Some tool functions.-------------------------------// diff --git a/framework/helper.class.php b/framework/helper.class.php index 97f28e1ff7..47fff7cde1 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -433,47 +433,6 @@ class helper extends baseHelper $checkFunc = 'check' . $operator; return validater::$checkFunc($value1, $value2); } - - /** - * 连接 Redis 服务器。 - * Connect to Redis server. - * - * @param object $setting - * @static - * @access public - * @return object - */ - public static function connectRedis(object $setting) - { - if(!class_exists('Redis')) throw new Exception('The Redis extension is not installed.'); - - try - { - $redis = new Redis(); - - $version = phpversion('redis'); - if(version_compare($version, '5.3.0', 'ge')) - { - $redis->connect($setting->host, (int)$setting->port, 1, null, 0, 0, ['auth' => [$setting->username ?: null, $setting->password ?: null]]); - } - else - { - $redis->connect($setting->host, (int)$setting->port, 1, null, 0, 0); - $redis->auth($setting->password ?: null); - } - - if(!$redis->ping()) throw new Exception('Can not connect to Redis server.'); - - $databases = $redis->config('GET', 'databases'); - if($setting->database >= $databases['databases']) throw new Exception("The database number is out of range. Your Redis server's max database number is " . ($databases['databases'] - 1) . '.'); - - return $redis; - } - catch(RedisException $e) - { - throw new Exception('Can not connect to Redis server. The error message is: ' . $e->getMessage()); - } - } } /**