19 lines
500 B
Python
Executable File
19 lines
500 B
Python
Executable File
import redis.asyncio as redis
|
|
import os
|
|
|
|
class RedisClient:
|
|
_instance = None
|
|
|
|
@classmethod
|
|
def get_instance(cls):
|
|
if cls._instance is None:
|
|
redis_url = os.getenv("REDIS_URL", "redis://localhost:6379")
|
|
cls._instance = redis.from_url(redis_url, decode_responses=True)
|
|
return cls._instance
|
|
|
|
@classmethod
|
|
async def close(cls):
|
|
if cls._instance:
|
|
await cls._instance.close()
|
|
cls._instance = None
|