package cache import ( "fmt" "strconv" "github.com/go-redis/redis" "gopkg.in/ini.v1" ) // RedisClient Redis缓存客户端单例 var ( RedisClient *redis.Client RedisDB int RedisAddr string RedisPw string //RedisDbName string ) // InitRedis 在中间件中初始化redis链接 防止循环导包,所以放在这里 func InitRedis(confPath string) { //从本地读取环境变量 file, err := ini.Load(confPath) if err != nil { panic(err) } LoadRedisData(file) connRedis() } // connRedis 在中间件中初始化redis链接 func connRedis() { RedisClient = redis.NewClient(&redis.Options{ Addr: RedisAddr, Password: RedisPw, DB: RedisDB, }) _, err := RedisClient.Ping().Result() if err != nil { fmt.Println("connRedis err", err) panic(err) } } func LoadRedisData(file *ini.File) { dbStr := file.Section("redis").Key("RedisDb").String() RedisDB, _ = strconv.Atoi(dbStr) RedisAddr = file.Section("redis").Key("RedisAddr").String() RedisPw = file.Section("redis").Key("RedisPW").String() //RedisDbName = file.Section("redis").Key("RedisDbName").String() }