package common import ( "context" "github.com/go-redis/redis/v8" "os" "time" ) var RDB *redis.Client var RedisEnabled = true // InitRedisClient This function is called after init() func InitRedisClient() (err error) { if os.Getenv("REDIS_CONN_STRING") == "" { RedisEnabled = false SysLog("REDIS_CONN_STRING not set, Redis is not enabled") return nil } opt, err := redis.ParseURL(os.Getenv("REDIS_CONN_STRING")) if err != nil { panic(err) } RDB = redis.NewClient(opt) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() _, err = RDB.Ping(ctx).Result() return err } func ParseRedisOption() *redis.Options { opt, err := redis.ParseURL(os.Getenv("REDIS_CONN_STRING")) if err != nil { panic(err) } return opt }