[🚀] mapstructure

This commit is contained in:
2026-02-25 17:31:28 +08:00
parent e3b15844a4
commit ffcd09c89c
5 changed files with 62 additions and 75 deletions

37
pkg/cache/redis.go vendored
View File

@@ -93,29 +93,20 @@ type RedisRepo interface {
// RedisConfig Redis配置
type RedisConfig struct {
// 基础配置
Addr string `yaml:"addr" json:"addr"` // 地址,如: localhost:6379
Password string `yaml:"password" json:"password"` // 密码
DB int `yaml:"db" json:"db"` // 数据库编号
// 连接池配置
PoolSize int `yaml:"pool_size" json:"pool_size"` // 最大连接数
MinIdleConns int `yaml:"min_idle_conns" json:"min_idle_conns"` // 最小空闲连接数
// 超时配置
DialTimeout time.Duration `yaml:"dial_timeout" json:"dial_timeout"` // 连接超时
ReadTimeout time.Duration `yaml:"read_timeout" json:"read_timeout"` // 读超时
WriteTimeout time.Duration `yaml:"write_timeout" json:"write_timeout"` // 写超时
PoolTimeout time.Duration `yaml:"pool_timeout" json:"pool_timeout"` // 连接池超时
// 重试配置
MaxRetries int `yaml:"max_retries" json:"max_retries"` // 最大重试次数
MinRetryBackoff time.Duration `yaml:"min_retry_backoff" json:"min_retry_backoff"` // 最小重试间隔
MaxRetryBackoff time.Duration `yaml:"max_retry_backoff" json:"max_retry_backoff"` // 最大重试间隔
// 连接存活
ConnMaxIdleTime time.Duration `yaml:"conn_max_idle_time" json:"conn_max_idle_time"` // 最大空闲时间
ConnMaxLifetime time.Duration `yaml:"conn_max_lifetime" json:"conn_max_lifetime"` // 最大生命周期
Addr string `yaml:"addr" json:"addr" mapstructure:"addr"`
Password string `yaml:"password" json:"password" mapstructure:"password"`
DB int `yaml:"db" json:"db" mapstructure:"db"`
PoolSize int `yaml:"pool_size" json:"pool_size" mapstructure:"pool_size"`
MinIdleConns int `yaml:"min_idle_conns" json:"min_idle_conns" mapstructure:"min_idle_conns"`
DialTimeout time.Duration `yaml:"dial_timeout" json:"dial_timeout" mapstructure:"dial_timeout"`
ReadTimeout time.Duration `yaml:"read_timeout" json:"read_timeout" mapstructure:"read_timeout"`
WriteTimeout time.Duration `yaml:"write_timeout" json:"write_timeout" mapstructure:"write_timeout"`
PoolTimeout time.Duration `yaml:"pool_timeout" json:"pool_timeout" mapstructure:"pool_timeout"`
MaxRetries int `yaml:"max_retries" json:"max_retries" mapstructure:"max_retries"`
MinRetryBackoff time.Duration `yaml:"min_retry_backoff" json:"min_retry_backoff" mapstructure:"min_retry_backoff"`
MaxRetryBackoff time.Duration `yaml:"max_retry_backoff" json:"max_retry_backoff" mapstructure:"max_retry_backoff"`
ConnMaxIdleTime time.Duration `yaml:"conn_max_idle_time" json:"conn_max_idle_time" mapstructure:"conn_max_idle_time"`
ConnMaxLifetime time.Duration `yaml:"conn_max_lifetime" json:"conn_max_lifetime" mapstructure:"conn_max_lifetime"`
}
// DefaultRedisConfig 默认配置