Merge pull request #814 from xbkaishui/support-redis-tls

support redis tls
This commit is contained in:
John Guo
2020-07-22 19:49:29 +08:00
committed by GitHub
2 changed files with 10 additions and 0 deletions

View File

@ -46,6 +46,8 @@ type Config struct {
IdleTimeout time.Duration // Maximum idle time for connection (default is 10 seconds, not allowed to be set to 0)
MaxConnLifetime time.Duration // Maximum lifetime of the connection (default is 30 seconds, not allowed to be set to 0)
ConnectTimeout time.Duration // Dial connection timeout.
TLS bool // Specifies the config to use when a TLS connection is dialed.
TLSSkipVerify bool // Disables server name verification when connecting over TLS
}
// Pool statistics.
@ -102,6 +104,8 @@ func New(config Config) *Redis {
"tcp",
fmt.Sprintf("%s:%d", config.Host, config.Port),
redis.DialConnectTimeout(config.ConnectTimeout),
redis.DialUseTLS(config.TLS),
redis.DialTLSSkipVerify(config.TLSSkipVerify),
)
if err != nil {
return nil, err

View File

@ -110,6 +110,12 @@ func ConfigFromStr(str string) (config Config, err error) {
if v, ok := parse["maxConnLifetime"]; ok {
config.MaxConnLifetime = gconv.Duration(v) * time.Second
}
if v, ok := parse["tls"]; ok {
config.TLS = gconv.Bool(v)
}
if v, ok := parse["skipVerify"]; ok {
config.TLSSkipVerify = gconv.Bool(v)
}
return
}
array, _ = gregex.MatchString(`([^:]+):*(\d*),{0,1}(\d*),{0,1}(.*)`, str)