We Had To Use Dark Magic To Make This Work

This commit is contained in:
2023-11-01 10:56:22 -04:00
commit 24a142c6a6
11 changed files with 416 additions and 0 deletions

40
redis/redis.go Executable file
View File

@@ -0,0 +1,40 @@
package redis
import (
"git.siteworxpro.com/golang/packages/utilities/Env"
"github.com/redis/go-redis/v9"
"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
}