23 lines
527 B
Python
23 lines
527 B
Python
import redis.asyncio as aioredis
|
|
from core.config import settings
|
|
|
|
_redis_pool: aioredis.Redis | None = None
|
|
|
|
|
|
async def init_redis() -> None:
|
|
global _redis_pool
|
|
_redis_pool = aioredis.from_url(
|
|
settings.REDIS_URL, encoding="utf-8", decode_responses=True
|
|
)
|
|
|
|
|
|
async def close_redis() -> None:
|
|
if _redis_pool:
|
|
await _redis_pool.aclose()
|
|
|
|
|
|
async def get_redis() -> aioredis.Redis:
|
|
if _redis_pool is None:
|
|
raise RuntimeError("Redis pool has not been initialized")
|
|
return _redis_pool
|