使用示例

通过实际代码示例快速了解如何使用AmDb数据库,涵盖基础操作、区块链应用、批量处理等常见场景。

📝

基础操作

学习如何创建数据库、写入和读取数据的基本操作。

from amdb import Database

# 创建数据库实例
db = Database(data_dir='./data/mydb')

# 写入数据
db.put(b'key1', b'value1')
db.put(b'key2', b'value2')

# 读取数据
value = db.get(b'key1')
print(value)  # b'value1'

# 刷新到磁盘
db.flush()
查看完整示例 →

批量写入

使用批量写入提升性能,适合大量数据的场景。

# 准备批量数据
items = [
    (b'key1', b'value1'),
    (b'key2', b'value2'),
    (b'key3', b'value3'),
]

# 批量写入(高性能)
success, root_hash = db.batch_put(items)

# 同步刷新
db.flush(force_sync=True)
查看完整示例 →
⛓️

区块链应用

在区块链项目中存储区块、交易和账户状态。

# 存储区块数据
block_hash = b'block_001'
block_data = b'{"height": 1, "transactions": [...]}'
db.put(block_hash, block_data)

# 存储账户状态
account_key = b'account:0x1234'
account_data = b'{"balance": 1000, "nonce": 5}'
db.put(account_key, account_data)

# 批量存储交易
transactions = [(b'tx:001', tx_data), ...]
db.batch_put(transactions)
查看完整示例 →
📊

版本管理

使用版本管理功能查询历史数据和状态回滚。

# 获取版本历史
history = db.version_manager.get_history(b'account:0x1234')

# 获取特定版本
value = db.get_version(b'account:0x1234', version=5)

# 时间点查询
state = db.get_at_time(b'account:0x1234', 
                       timestamp=1234567890)
查看完整示例 →
🗄️

多数据库管理

同时管理多个独立的数据库实例。

# 创建多个数据库
db1 = Database(data_dir='./data/db1')
db2 = Database(data_dir='./data/db2')

# 独立操作
db1.put(b'key1', b'value1')
db2.put(b'key1', b'value2')

# 数据互不干扰
print(db1.get(b'key1'))  # b'value1'
print(db2.get(b'key1'))  # b'value2'
查看完整示例 →
🌐

远程连接

通过网络服务模式连接远程数据库。

from amdb.network import RemoteDatabase

# 连接到远程数据库
db = RemoteDatabase(
    host='localhost',
    port=3888,
    db_name='blockchain_db'
)

# 远程操作
db.put(b'key', b'value')
value = db.get(b'key')
查看完整示例 →