KeyValueDB

KeyValueDB

Key-Value 쌍을 저장하고 조회하기 위해 구성된 데이터베이스이며 KeyspaceManager를 통해 Key-Value 집합의 관리할 수 있는 Keyspace 개념을 지원하고 있습니다.

생성자

Aeca와 통신을 위한 Channel 객체가 필수적으로 요구됩니다.

KeyValueDB(
    channel: Channel, timeout: int | None = None
)
인자설명타입
channel채널Channel
timeout만료 시간int

get

key에 해당하는 값을 가져옵니다.

KeyValueDB.get(
    keyspace_name: str, key: bytes | str
) -> (
    Optional[bytes]
)
인자설명타입
keyspace_namekeyspace 이름str
keybytes | str

get_batch

하나 이상의 keys에 해당하는 값을 한번에 가져옵니다.

KeyValueDB.get_batch(
    keyspace_name: str, keys: list[bytes | str]
) -> (
    List[Optional[bytes]]
)
인자설명타입
keyspace_namekeyspace 이름str
keys키 배열list[bytes | str]

put

key에 해당하는 value를 입력합니다.

KeyValueDB.put(
    keyspace_name: str,
    key: bytes | str,
    value: bytes | str,
    ttl: int = 0,
    create_if_missing: bool = True,
) -> (
    bool
)
인자설명타입
keyspace_namekeyspace 이름str
keybytes | str
value입력할 데이터bytes | str
ttlTTL(time to live), 만료 시간(초)int
create_if_missingkeyspace가 존재하지 않을 때 생성bool

put_batch

keys에 해당하는 values를 한번에 입력합니다.

KeyValueDB.put_batch(
    keyspace_name: str,
    keys: list[bytes | str],
    values: list[bytes | str],
    ttls: list[int],
    create_if_missing: bool = True,
) -> (
    List[bool]
)
인자설명타입
keyspace_namekeyspace 이름str
keys키 리스트list[bytes | str]
values입력할 데이터 리스트list[bytes | str]
ttlsTTL(time to live) 리스트, 만료 시간(초)list[int]
create_if_missingkeyspace가 존재하지 않을 때 생성bool

remove

key에 해당하는 값을 삭제합니다.

KeyValueDB.remove(
    keyspace_name: str, key: bytes | str
) -> (
    Optional[bytes]
)
인자설명타입
keyspace_namekeyspace 이름str
keybytes | str

remove_batch

하나 이상의 keys에 해당하는 값을 한번에 삭제합니다.

KeyValueDB.remove_batch(
    self, keyspace_name: str, keys: list[bytes | str]
) -> (
    List[Optional[bytes]]
)
인자설명타입
keyspace_namekeyspace 이름str
keys키 배열list[bytes | str]