#内容可寻址 #存储 #lmdb

castor

基于LMDB的内容可寻址存储

11个不稳定版本 (4个重大更改)

0.5.0 2019年7月9日
0.4.3 2018年12月30日
0.3.1 2018年4月16日
0.2.1 2018年3月20日
0.1.0 2018年2月27日

#2587数据库接口

ISC 许可证

11KB
222

castor

基于kv的Rust嵌入式内容可寻址存储

更多信息请访问 https://docs.rs/castor


lib.rs:

castor 使用 LMDBkv 提供基于内容可寻址的存储

use castor::{Config, Store, Blake2s, Txn, Token};

fn main() -> Result<(), kv::Error> {
    let cfg: Config<Blake2s> = Store::config("/tmp/castor-example");
    let mut store: Store<Blake2s> = Store::new(cfg)?;
    let bucket: kv::Bucket<Token<Blake2s>, &str> = store.bucket(None)?;
    let token = store.with_write_txn(|mut txn| {
        txn.put(&bucket, "testing")
    })?;
    let x = store.with_read_txn(move |txn| {
        let value = txn.fetch(&bucket, token)?;
        Ok(String::from(value))
    })?;
    assert_eq!(x, "testing");
    Ok(())
}

依赖项

~1.6–2.8MB
~59K SLoC