chat_back/app/services/redis_service.py

24 lines
757 B
Python

from redis.asyncio.client import Redis
from app.config import settings
def get_redis_session() -> Redis:
return Redis(host=settings.REDIS_HOST, port=settings.REDIS_PORT, db=settings.REDIS_DB)
class RedisService:
@staticmethod
async def set_verification_code(redis: Redis, user_id: int, verification_code: str) -> None:
await redis.setex(f"user_verification_code: {user_id}", 1800, verification_code)
@staticmethod
async def get_verification_code(redis: Redis, user_id: int) -> str:
verification_code = await redis.get(f"user_verification_code: {user_id}")
return verification_code.decode()
@staticmethod
async def delete_verification_code(redis: Redis, user_id: int) -> None:
await redis.delete(f"user_verification_code: {user_id}")