sync
This commit is contained in:
@@ -3,4 +3,4 @@ from dataclasses import dataclass
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RedisSettings:
|
||||
url: str = "redis://localhost:6379/0"
|
||||
url: str
|
||||
|
@@ -10,19 +10,36 @@ class RedisRepository(Repository):
|
||||
def __init__(self, redis_pool: redis.Redis) -> None:
|
||||
self.pool = redis_pool
|
||||
|
||||
def __set(self, key, val):
|
||||
data = pickle.dumps(val)
|
||||
self.pool.set(key, data)
|
||||
|
||||
def __get(self, key):
|
||||
data = self.pool.get(key)
|
||||
if data is not None:
|
||||
return pickle.loads(data)
|
||||
return None
|
||||
|
||||
def get_key(self, obj: KeyDTO) -> KeyDTO | None:
|
||||
data = self.pool.get(obj.key)
|
||||
data = self.__get(obj.key)
|
||||
if not data:
|
||||
return None
|
||||
return KeyDTO(key=str(obj.key), val=data)
|
||||
return KeyDTO(key=obj.key, val=data)
|
||||
|
||||
def add_key(self, obj: KeyDTO) -> KeyDTO:
|
||||
self.pool.set(str(obj.key), pickle.dumps(obj.val))
|
||||
def add_key(self, obj: KeyDTO) -> KeyDTO | None:
|
||||
data = self.__get(obj.key)
|
||||
if data:
|
||||
return None
|
||||
self.__set(obj.key, obj.val)
|
||||
return obj
|
||||
|
||||
def put_key(self, obj: KeyDTO) -> KeyDTO:
|
||||
return KeyDTO(key="5", val="6")
|
||||
def put_key(self, obj: KeyDTO) -> KeyDTO | None:
|
||||
data = self.__get(obj.key)
|
||||
if data is None:
|
||||
return None
|
||||
self.__set(obj.key, obj.val)
|
||||
return obj
|
||||
|
||||
def delete_key(self, obj: KeyDTO) -> None:
|
||||
self.pool.delete(str(obj.key))
|
||||
self.pool.delete(obj.key)
|
||||
return None
|
||||
|
Reference in New Issue
Block a user