17 lines
384 B
Python
17 lines
384 B
Python
|
|
import redis.asyncio as redis
|
||
|
|
|
||
|
|
from app.core.config import settings
|
||
|
|
|
||
|
|
_pool: redis.ConnectionPool | None = None
|
||
|
|
|
||
|
|
|
||
|
|
def get_pool() -> redis.ConnectionPool:
|
||
|
|
global _pool
|
||
|
|
if _pool is None:
|
||
|
|
_pool = redis.ConnectionPool.from_url(settings.redis_url, decode_responses=True)
|
||
|
|
return _pool
|
||
|
|
|
||
|
|
|
||
|
|
def get_client() -> redis.Redis:
|
||
|
|
return redis.Redis(connection_pool=get_pool())
|