|
@@ -0,0 +1,34 @@
|
|
|
|
+const redis = require('redis');
|
|
|
|
+const config = require('../../config.json');
|
|
|
|
+const Logger = require('../../lib/Logger');
|
|
|
|
+
|
|
|
|
+class RedisClient {
|
|
|
|
+ constructor() {
|
|
|
|
+ // 创建 Redis 客户端实例
|
|
|
|
+ this.client = redis.createClient({
|
|
|
|
+ host: config.redis.host,
|
|
|
|
+ port: config.redis.port,
|
|
|
|
+ password: config.redis.password || null
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ this.logger = new Logger(path.join(__dirname, '../../logs/Redis.log'), 'INFO');
|
|
|
|
+
|
|
|
|
+ // 处理连接错误
|
|
|
|
+ this.client.on('error', (err) => {
|
|
|
|
+ this.logger.error(`Redis连接出错:${err.stack}`);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 确保连接成功
|
|
|
|
+ this.client.on('connect', () => {
|
|
|
|
+ this.logger.info('Redis连接成功!');
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取 Redis 客户端实例
|
|
|
|
+ getClient() {
|
|
|
|
+ return this.client;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const Redis = new RedisClient().getClient();
|
|
|
|
+module.exports = Redis;
|