dumbo_rocks_db
RocksDB数据库操作模块,提供类型安全的列族(Column Family)抽象。
概述
本模块通过DbContext管理数据库连接,使用ColumnFamily<T>提供类型安全的数据操作。每个列族对应一个类型T,该类型需实现Keyable trait。
快速开始
1. 初始化数据库
在系统启动时初始化全局数据库实例:
use DbContext;
// 参数说明:
// - db_path: 数据库存储路径
// - column_families: 所有列族名称列表
initialize?;
2. 定义数据模型
为每个列族创建实现Keyable的类型:
use ;
use Keyable;
3. 使用列族操作数据
use ColumnFamily;
// 创建列族访问对象
let user_cf = new;
// 插入数据
user_cf.set?;
// 查询数据
let user = user_cf.get?;
// 获取全部数据
let all_users = user_cf.get_all?;
// 删除数据
user_cf.del?;
核心组件说明
DbContext
initialize(db_path: &str, column_families: &[&str]):初始化数据库连接- 单例模式管理数据库实例
ColumnFamily<T>
要求 T: Keyable,提供以下操作:
get(key: &str) -> Result<Option<T>>:按键查询set(item: &T) -> Result<()>:插入/更新数据del(key: &str) -> Result<()>:删除数据get_all() -> Result<Vec<T>>:获取列族全部数据count_all() -> Result<usize>: 获取总的记录数keep_size(size: usize): 根据索引的顺序,保留指定数量的数据,超过这个数量的就删除 (0.2.0)
Keyable trait
数据模型必须实现的特征:
生成时序相关的索引(0.2.0)
use generate_timestamp_index;
let start_time = now;
let id_name : &str = "warning";
let index_id = generate_timestamp_index;