API参考
AmDb数据库系统的完整API参考文档。
Database类
put(key, value)
写入单个键值对。
| 参数 | 类型 | 说明 |
|---|---|---|
| key | bytes | 键(字节类型) |
| value | bytes | 值(字节类型) |
db = Database(data_dir='./data/mydb')
db.put(b'key1', b'value1')
get(key, version=None)
读取指定键的值。
| 参数 | 类型 | 说明 |
|---|---|---|
| key | bytes | 键(字节类型) |
| version | int, optional | 版本号(None表示最新版本) |
value = db.get(b'key1')
# 获取指定版本
value = db.get(b'key1', version=5)
batch_put(items)
批量写入键值对。
| 参数 | 类型 | 说明 |
|---|---|---|
| items | List[Tuple[bytes, bytes]] | 键值对列表 |
items = [(b'key1', b'value1'), (b'key2', b'value2')]
success, root_hash = db.batch_put(items)
delete(key)
删除指定键(标记删除)。
db.delete(b'key1')
flush(force_sync=False)
强制刷新数据到磁盘。
| 参数 | 类型 | 说明 |
|---|---|---|
| force_sync | bool | 是否强制同步写入(确保数据持久化) |
# 同步刷新,确保数据写入磁盘
db.flush(force_sync=True)
版本管理
get_version(key, version)
获取指定版本的键值。
get_at_time(key, timestamp)
获取指定时间点的键值。
get_history(key, start_version=None, end_version=None)
获取键的版本历史。