flask-demo-api/flask_demo_api/repository/redis.py

23 lines
650 B
Python
Raw Normal View History

2024-04-15 02:16:07 +03:00
import redis
from flask_demo_api.protocols.models import KeyDTO
from flask_demo_api.protocols.repository import Repository
class RedisRepository(Repository):
def __init__(self, redis_pool: redis.Redis) -> None:
self.pool = redis_pool
def get_key(self, obj: KeyDTO) -> KeyDTO | None:
data = self.pool.get(obj.key)
if not data:
return None
return KeyDTO(key=obj.key, val=str(data))
def add_key(self, obj: KeyDTO) -> KeyDTO:
self.pool.set(obj.key, obj.val)
return KeyDTO(key="3", val="4")
def put_key(self, obj: KeyDTO) -> KeyDTO:
return KeyDTO(key="5", val="6")