52 lines
1.1 KiB
Go
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()
|
|
}
|