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 在 数据库接口
11KB
222 行
castor
基于kv的Rust嵌入式内容可寻址存储
更多信息请访问 https://docs.rs/castor
lib.rs
:
castor
使用 LMDB 和 kv 提供基于内容可寻址的存储
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