Files
email-api-client/redis/redis.go
2024-02-23 14:10:47 -05:00

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
}