A fully typed LMDB wrapper with minimum overhead, uses zerocopy internally.
This library is able to serialize all kind of types, not just bytes slices, even Serde types are supported.
```rust fs::createdirall("target/zerocopy.mdb")?; let env = EnvOpenOptions::new().open("target/zerocopy.mdb")?;
// we will open the default unamed database
let db: Database
// opening a write transaction let mut wtxn = env.write_txn()?; db.put(&mut wtxn, "seven", &7)?; db.put(&mut wtxn, "zero", &0)?; db.put(&mut wtxn, "five", &5)?; db.put(&mut wtxn, "three", &3)?; wtxn.commit()?;
// opening a read transaction // to check if those values are now available let mut rtxn = env.read_txn()?;
let ret = db.get(&rtxn, "zero")?; assert_eq!(ret, Some(0));
let ret = db.get(&rtxn, "five")?; assert_eq!(ret, Some(5)); ```
You want to see more about all the possibilities? Go check out the example.