conf.go 804 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package redis
  2. import "errors"
  3. var (
  4. ErrEmptyHost = errors.New("empty redis host")
  5. ErrEmptyType = errors.New("empty redis type")
  6. ErrEmptyKey = errors.New("empty redis key")
  7. )
  8. type (
  9. RedisConf struct {
  10. Host string
  11. Type string `json:",default=node,options=node|cluster"`
  12. Pass string `json:",optional"`
  13. }
  14. RedisKeyConf struct {
  15. RedisConf
  16. Key string `json:",optional"`
  17. }
  18. )
  19. func (rc RedisConf) NewRedis() *Redis {
  20. return NewRedis(rc.Host, rc.Type, rc.Pass)
  21. }
  22. func (rc RedisConf) Validate() error {
  23. if len(rc.Host) == 0 {
  24. return ErrEmptyHost
  25. }
  26. if len(rc.Type) == 0 {
  27. return ErrEmptyType
  28. }
  29. return nil
  30. }
  31. func (rkc RedisKeyConf) Validate() error {
  32. if err := rkc.RedisConf.Validate(); err != nil {
  33. return err
  34. }
  35. if len(rkc.Key) == 0 {
  36. return ErrEmptyKey
  37. }
  38. return nil
  39. }