This commit is contained in:
2024-04-15 22:03:02 +00:00
parent 3e57c393c2
commit e4c6d10781
19 changed files with 507 additions and 46 deletions

View File

@@ -3,4 +3,4 @@ from dataclasses import dataclass
@dataclass(frozen=True)
class RedisSettings:
url: str = "redis://redis:6379/0"
url: str = "redis://localhost:6379/0"

View File

@@ -1,6 +1,9 @@
import pickle
import redis # type: ignore
from protocols.models import KeyDTO
from protocols.repository import Repository
from flask_demo_api.protocols.models import KeyDTO
from flask_demo_api.protocols.repository import Repository
class RedisRepository(Repository):
@@ -8,14 +11,18 @@ class RedisRepository(Repository):
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="10", val="1")
data = self.pool.get(obj.key)
if not data:
return None
return KeyDTO(key=str(obj.key), val=data)
def add_key(self, obj: KeyDTO) -> KeyDTO:
self.pool.set(obj.key, obj.val)
return KeyDTO(key="3", val="4")
self.pool.set(str(obj.key), pickle.dumps(obj.val))
return obj
def put_key(self, obj: KeyDTO) -> KeyDTO:
return KeyDTO(key="5", val="6")
def delete_key(self, obj: KeyDTO) -> None:
self.pool.delete(str(obj.key))
return None