Files
2026-06-01 18:47:59 +03:00

27 lines
625 B
Python

"""Redis client provider — a single shared async connection pool."""
from redis.asyncio import Redis
from app.core.config import get_settings
_client: Redis | None = None
def get_redis() -> Redis:
"""Return the process-wide Redis client (created on first use)."""
global _client
if _client is None:
_client = Redis.from_url(
str(get_settings().redis_url),
encoding="utf-8",
decode_responses=True,
)
return _client
async def close_redis() -> None:
global _client
if _client is not None:
await _client.aclose()
_client = None