diff --git a/config/configs.go b/config/configs.go index 8b2b0a0..7fd90d9 100644 --- a/config/configs.go +++ b/config/configs.go @@ -28,6 +28,7 @@ type Config struct { Database Database `mapstructure:"postgresql"` Jwt Jwt `mapstructure:"jwt"` OSSConfig OSSConfig `mapstructure:"oss"` + Redis Redis `mapstructure:"redis"` } var ( diff --git a/config/redis.go b/config/redis.go new file mode 100644 index 0000000..e96c9f2 --- /dev/null +++ b/config/redis.go @@ -0,0 +1,14 @@ +package config + +type Redis struct { + Host string `mapstructure:"host"` + Port string `mapstructure:"port"` + DB int `mapstructure:"db"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` + SslMode string `mapstructure:"ssl-mode"` + Debug bool `mapstructure:"debug"` + MaxIdleConnectionsInSecond int `mapstructure:"max-idle-connections-in-second"` + MaxOpenConnectionsInSecond int `mapstructure:"max-open-connections-in-second"` + ConnectionMaxLifetimeInSecond int64 `mapstructure:"connection-max-life-time-in-second"` +} diff --git a/internal/accessor/redis/impl.go b/internal/accessor/redis/impl.go index 001ca98..9915880 100644 --- a/internal/accessor/redis/impl.go +++ b/internal/accessor/redis/impl.go @@ -1,6 +1,7 @@ package redisaccessor import ( + "fmt" "legalgo-BE-go/config" "github.com/redis/go-redis/v9" @@ -12,12 +13,13 @@ func Get() *redis.Client { return redisClient } -func New() *redis.Client { +func New(cfg *config.Config) *redis.Client { + addr := fmt.Sprintf("%s:%s", cfg.Redis.Host, cfg.Redis.Port) + redisClient = redis.NewClient(&redis.Options{ - Username: config.REDIS_USERNAME, - Addr: config.REDIS_ADDR, - Password: config.REDIS_PASSWORD, - DB: config.REDIS_DB, + Addr: addr, + Password: cfg.Redis.Password, + DB: cfg.Redis.DB, }) return redisClient