package redisaccessor import ( "crypto/tls" "fmt" "legalgo-BE-go/config" "github.com/redis/go-redis/v9" ) var redisClient *redis.Client func Get() *redis.Client { return redisClient } func New(cfg *config.Config) *redis.Client { addr := fmt.Sprintf("%s:%s", cfg.Redis.Host, cfg.Redis.Port) options := &redis.Options{ Addr: addr, Password: cfg.Redis.Password, DB: cfg.Redis.DB, } if cfg.Redis.Username != "" { options.Username = cfg.Redis.Username } if cfg.Redis.SSL { options.TLSConfig = &tls.Config{} } redisClient = redis.NewClient(options) return redisClient }