123456789101112131415161718192021222324252627282930313233343536 |
- package infra
- import (
- "github.com/go-redis/redis"
- "os"
- "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)
- }
- // 清空当前选择的数据库
- err = GlobalRedisClient.FlushDB().Err()
- if err != nil {
- GlobalLogger.Errorf("清空 redis 【%v】号库的数据时报错,初始化 Redis 客户端失败,错误信息为:%v", db, err)
- os.Exit(0)
- }
- GlobalLogger.Infof("已清空 redis 【%v】号库的数据,并初始化 Redis 全局客户端成功。", db)
- }
|