redis_config.py 860 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from typing import Optional
  2. from pydantic import Field, NonNegativeInt, PositiveInt
  3. from pydantic_settings import BaseSettings
  4. class RedisConfig(BaseSettings):
  5. """
  6. Redis configs
  7. """
  8. REDIS_HOST: str = Field(
  9. description='Redis host',
  10. default='localhost',
  11. )
  12. REDIS_PORT: PositiveInt = Field(
  13. description='Redis port',
  14. default=6379,
  15. )
  16. REDIS_USERNAME: Optional[str] = Field(
  17. description='Redis username',
  18. default=None,
  19. )
  20. REDIS_PASSWORD: Optional[str] = Field(
  21. description='Redis password',
  22. default=None,
  23. )
  24. REDIS_DB: NonNegativeInt = Field(
  25. description='Redis database id, default to 0',
  26. default=0,
  27. )
  28. REDIS_USE_SSL: bool = Field(
  29. description='whether to use SSL for Redis connection',
  30. default=False,
  31. )