import logging from redis.asyncio import Redis from app.config import settings logger = logging.getLogger(__name__) redis_client: Redis | None = None async def get_redis() -> Redis: global redis_client if redis_client is None: redis_client = Redis( host=settings.redis_host, port=settings.redis_port, password=settings.redis_password or None, db=settings.redis_db, decode_responses=True, ) return redis_client async def close_redis() -> None: global redis_client if redis_client: await redis_client.aclose() redis_client = None