-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.go
40 lines (31 loc) · 1.34 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package redis
import (
"time"
"github.com/easeq/go-service/component"
)
// Config defines the redis config
type Config struct {
Network string `env:"REDIS_NETWORK,default=tcp"`
Addr string `env:"REDIS_ADDRESS,default=localhost:6379"`
Username string `env:"REDIS_USERNAME,default="`
Password string `env:"REDIS_PASSWORD,default="`
DB int `env:"REDIS_DB,default="`
MaxRetries int `env:"REDIS_MAX_RETRIES,default=3"`
MinRetryBackoff time.Duration `env:"REDIS_MIN_RETRY_BACKOFF,default=8ms"`
MaxRetryBackoff time.Duration `env:"REDIS_MAX_RETRY_BACKOFF,default=512ms"`
DialTimeout time.Duration `env:"REDIS_DIAL_TIMEOUT,default=5s"`
ReadTimeout time.Duration `env:"REDIS_READ_TIMEOUT,default=3s"`
WriteTimeout time.Duration `env:"REDIS_WRITE_TIMEOUT,default="`
PoolSize int `env:"REDIS_POOL_SIZE,default=10"`
MinIdleConns int `env:"REDIS_MIN_IDLE_CONNS,default="`
MaxConnAge time.Duration `env:"REDIS_MAX_CONN_AGE,default="`
PoolTimeout time.Duration `env:"REDIS_POOL_TIMEOUT,default="`
IdleTimeout time.Duration `env:"REDIS_IDLE_TIMEOUT,default="`
IdleCheckFrequency time.Duration `env:"REDIS_IDLE_CHEKC_FREQUENCY,default=60s"`
}
// NewConfig returns the parsed config for zap from env
func NewConfig() *Config {
c := new(Config)
component.NewConfig(c)
return c
}