You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.1 KiB
Go

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()
}