You've already forked email-api-client
40 lines
700 B
Go
Executable File
40 lines
700 B
Go
Executable File
package redis
|
|
|
|
import (
|
|
"git.s.int/golang/packages/utilities/Env"
|
|
"strconv"
|
|
)
|
|
|
|
const (
|
|
redisHost Env.EnvironmentVariable = "REDIS_HOST"
|
|
redisHPassword Env.EnvironmentVariable = "REDIS_PASSWORD"
|
|
redisDb Env.EnvironmentVariable = "REDIS_DB"
|
|
)
|
|
|
|
var r = struct {
|
|
client *redis.Client
|
|
initialized bool
|
|
}{}
|
|
|
|
func NewRedis() *redis.Client {
|
|
if r.initialized {
|
|
return r.client
|
|
}
|
|
|
|
db, err := strconv.ParseInt(redisDb.GetEnvString("0"), 10, 64)
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
rdb := redis.NewClient(&redis.Options{
|
|
Addr: redisHost.GetEnvString("localhost:6379"),
|
|
Password: redisHPassword.GetEnvString(""),
|
|
DB: int(db),
|
|
})
|
|
|
|
r.client = rdb
|
|
|
|
return r.client
|
|
}
|