add GetSecDsn to get config description

This commit is contained in:
bryan 2025-04-08 08:44:20 +08:00
parent bf3cd9bc27
commit 34d1b513ba

View File

@ -29,6 +29,15 @@ type Config struct {
IdleTimeout *int `toml:"idle_timeout"` //空闲超时时间
}
func GetSecDsn(cfg Config) (dsn string) {
if cfg.Master != "" {
dsn += fmt.Sprintf("mode=redis address=%s", cfg.Master)
} else if cfg.MasterName != "" {
dsn += fmt.Sprintf("mode=sentinel address=%s mastername=%s", cfg.Sentinels, cfg.MasterName)
}
return dsn
}
type Sentinel struct {
// Addrs is a slice with known Sentinel addresses.
Addrs []string
@ -134,13 +143,13 @@ func NewPool(cfg Config) *redis.Pool {
Dial: func() (redis.Conn, error) {
masterAddr, err := sntnl.MasterAddr()
if err != nil {
logErrLogger.Output(2, fmt.Sprintf("get master from sentinel error: %s", err))
logErrLogger.Output(2, fmt.Sprintf("get master from sentinel error: %s", err))
return nil, err
}
c, err := redis.Dial("tcp", masterAddr)
if err != nil {
logErrLogger.Output(2, fmt.Sprintf("connect [%s] error: %s", masterAddr, err))
logErrLogger.Output(2, fmt.Sprintf("connect [%s] error: %s", masterAddr, err))
return nil, err
}
@ -152,10 +161,10 @@ func NewPool(cfg Config) *redis.Pool {
}
if err != nil {
logErrLogger.Output(2, fmt.Sprintf("auth [%s] error: %s", masterAddr, err))
logErrLogger.Output(2, fmt.Sprintf("auth [%s] error: %s", masterAddr, err))
return nil, fmt.Errorf("redis master AUTH failed: <%s>", err.Error())
} else if okstr != "OK" {
logErrLogger.Output(2, fmt.Sprintf("auth [%s] not return ok but '%s'", masterAddr, okstr))
logErrLogger.Output(2, fmt.Sprintf("auth [%s] not return ok but '%s'", masterAddr, okstr))
return nil, fmt.Errorf("redis master AUTH failed: <%s>", okstr)
}
@ -164,7 +173,7 @@ func NewPool(cfg Config) *redis.Pool {
err = fmt.Errorf(
"master(%s) got by name '%s' is not redis master",
masterAddr, masterName)
logErrLogger.Output(2, err.Error())
logErrLogger.Output(2, err.Error())
return nil, err
}