redis_config.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package config
  2. import "eta/eta_mini_ht_api/common/contants"
  3. // RedisOpts redis 连接属性
  4. type RedisOpts struct {
  5. Host string
  6. Username string
  7. Password string
  8. Database int
  9. MaxIdle int
  10. MaxActive int
  11. IdleTimeout int
  12. DB int
  13. MaxRetries int
  14. }
  15. type RedisConfig struct {
  16. BaseConfig
  17. opts RedisOpts
  18. }
  19. func (r *RedisConfig) GetHost() string {
  20. return r.opts.Host
  21. }
  22. func (r *RedisConfig) GetDatabase() int {
  23. return r.opts.Database
  24. }
  25. func (r *RedisConfig) GetPassword() string {
  26. return r.opts.Password
  27. }
  28. func (r *RedisConfig) GetIdleTimeout() int {
  29. return r.opts.IdleTimeout
  30. }
  31. func (r *RedisConfig) GetMaxIdle() int {
  32. return r.opts.MaxIdle
  33. }
  34. func (r *RedisConfig) InitConfig() {
  35. opts := RedisOpts{
  36. Host: r.GetString("host"),
  37. Username: "",
  38. Password: r.GetString("password"),
  39. Database: r.GetInt("db"),
  40. MaxIdle: 10,
  41. MaxActive: 100,
  42. IdleTimeout: 10,
  43. DB: 0,
  44. MaxRetries: 3,
  45. }
  46. r.opts = opts
  47. }
  48. func NewRedis() Config {
  49. return &RedisConfig{
  50. BaseConfig: BaseConfig{prefix: contants.REDIS},
  51. opts: RedisOpts{},
  52. }
  53. }
  54. func init() {
  55. Register(contants.REDIS, NewRedis)
  56. }