package infra

import (
	"github.com/go-redis/redis"
	"sync"
)

var (
	once              sync.Once
	GlobalRedisClient *redis.Client
)

// 获取全局的Redis客户端
func InitRedisClient(addr string, password string, db int) {
	once.Do(func() {
		// 创建Redis连接
		GlobalRedisClient = redis.NewClient(&redis.Options{
			Addr:     addr,     // Redis地址
			Password: password, // Redis密码，如果没有密码则留空
			DB:       db,       // Redis数据库索引
		})
	})
	// 检查连接是否成功
	_, err := GlobalRedisClient.Ping().Result()
	if err != nil {
		GlobalLogger.Error("初始化 Redis 客户端报错:", err)
	}
	GlobalLogger.Error("初始化 Redis 客户端成功。")
}
