fonchain-artistinfo/pkg/cache/redis.go

52 lines
1.1 KiB
Go
Raw Normal View History

2023-01-18 09:03:15 +00:00
package cache
import (
"strconv"
"dubbo.apache.org/dubbo-go/v3/common/logger"
"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 {
logger.Errorf("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()
}