7个不稳定版本 (3个重大变更)

0.9.0 2019年9月4日
0.8.1 2019年7月3日
0.8.0 2019年1月10日
0.7.1 2017年7月10日
0.6.1 2017年5月17日

#239 in 数据库实现

每月下载 28次

MIT 许可证

10KB
146

typedb

crates.io version Build status Documentation

简单的持久化通用HashMap/键值存储,使用文件锁定来限制线程间的写入。

目前处于测试阶段。

文档

基本用法

use typedb::{ KV, Value };

fn main() {
    let mut test_store = KV::<String, Value>::new("./db.cab");

    let _ = test_store.insert("key".to_string(), Value::String("value".to_string()));
    println!("{:?}", test_store.get("key".to_string()));
    let _ = test_store.remove("key".to_string());
}

使用用户定义的键和值类型的使用方法

use typedb::{KV, key, value};
use serde_derive::{ Serialize, Deserialize };

key!(
enum MyKey {
    String(String),
    Int(i32),
});

value!(
enum MyValue {
    String(String),
    Int(i32),
});

fn main() {
    let mut test_store = KV::<MyKey, MyValue>::new("./db.cab").unwrap();

    let _ = test_store.insert(MyKey::Int(1i32), MyValue::String("value".to_string()));
    println!("{:?}", test_store.get(MyKey::Int(1i32)));
    let _ = test_store.remove(MyKey::Int(1i32));
}

许可证

依赖项

~2.2–3MB
~67K SLoC