redb是一个简单、便携、高性能、ACID、嵌入式键值存储。
redb是用纯Rust编写的,并受到 lmdb 的一些启发。数据存储在一个mmap'ed、copy-o-write的B-trees 的集合中。有关详细信息,可参阅设计文档。useredb::{Database,Error,ReadableTable,TableDefiitio};costTABLE:TableDefiitio<str,u64>=TableDefiitio::ew("my_data");fmai()->Result<(),Error>{letdb=usafe{Database::create("my_db.redb")?};letwrite_tx=db.begi_write()?;{letmuttable=write_tx.ope_table(TABLE)?;table.isert("my_key",&123)?;}write_tx.commit()?;letread_tx=db.begi_read()?;lettable=read_tx.ope_table(TABLE)?;assert_eq!(table.get("my_key")?.uwrap(),123);Ok(())}redb正在积极开发中。
特性:
零拷贝、线程安全、基于BTreeMap的API完全符合ACID的事务MVCC支持并发读写器,无阻塞默认 Crash-safeSavepoits和rollbacks基准测试:
评论