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_name | keyspace 이름 | str |
key | 키 | bytes | str |
get_batch
하나 이상의 keys
에 해당하는 값을 한번에 가져옵니다.
KeyValueDB.get_batch(
keyspace_name: str, keys: list[bytes | str]
) -> (
List[Optional[bytes]]
)
인자 | 설명 | 타입 |
---|---|---|
keyspace_name | keyspace 이름 | 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_name | keyspace 이름 | str |
key | 키 | bytes | str |
value | 입력할 데이터 | bytes | str |
ttl | TTL(time to live), 만료 시간(초) | int |
create_if_missing | keyspace가 존재하지 않을 때 생성 | 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_name | keyspace 이름 | str |
keys | 키 리스트 | list[bytes | str] |
values | 입력할 데이터 리스트 | list[bytes | str] |
ttls | TTL(time to live) 리스트, 만료 시간(초) | list[int] |
create_if_missing | keyspace가 존재하지 않을 때 생성 | bool |
remove
key
에 해당하는 값을 삭제합니다.
KeyValueDB.remove(
keyspace_name: str, key: bytes | str
) -> (
Optional[bytes]
)
인자 | 설명 | 타입 |
---|---|---|
keyspace_name | keyspace 이름 | str |
key | 키 | bytes | str |
remove_batch
하나 이상의 keys
에 해당하는 값을 한번에 삭제합니다.
KeyValueDB.remove_batch(
self, keyspace_name: str, keys: list[bytes | str]
) -> (
List[Optional[bytes]]
)
인자 | 설명 | 타입 |
---|---|---|
keyspace_name | keyspace 이름 | str |
keys | 키 배열 | list[bytes | str] |