The simple local key-value store.
DbMapDbString
has keys as utf-8 string.DbMapDbInt
has keys as u64.DbMapDbBytes
has keys as Vec```rust use siamesedb::{DbMapDbString, DbXxx, DbXxxBase, DbXxxObjectSafe};
fn main() -> std::io::Result<()> { let dbname = "target/tmp/doc-test1.siamesedb"; // remove database let _ = std::fs::removedirall(dbname); // create or open database let db = siamesedb::openfile(dbname)?; // create or get db map let mut dbmap = db.dbmapstring("somemap1")?; // let r = dbmap.getstring("key1")?; asserteq!(r, None); dbmap.putstring("key1", "value1")?; let r = dbmap.getstring("key1")?; asserteq!(r, Some("value1".into())); dbmap.syncdata()?; Ok(()) } ```
```rust use siamesedb::{DbMapDbInt, DbXxx, DbXxxBase, DbXxxObjectSafe};
fn main() -> std::io::Result<()> { let dbname = "target/tmp/doc-test2.siamesedb"; // remove database let _ = std::fs::removedirall(dbname); // create or open database let db = siamesedb::openfile(dbname)?; let mut dbmap = db.dbmapint("somelist1")?; let r = dbmap.getstring(&120)?; asserteq!(r, None); dbmap.putstring(&120, "value120")?; let r = dbmap.getstring(&120)?; asserteq!(r, Some("value120".tostring())); dbmap.sync_data()?; Ok(()) } ```
```rust use siamesedb::{DbMapDbString, DbMap, DbXxx, DbXxxBase, DbXxxObjectSafe};
fn main() -> std::io::Result<()> { let dbname = "target/tmp/doc-test3.siamesedb"; // remove database let _ = std::fs::removedirall(dbname); // create or open database let db = siamesedb::openfile(dbname)?; // create or get db map let mut dbmap = db.dbmapstring("somemap1")?; // // insert dbmap.putstring("key01", "value1").unwrap(); dbmap.putstring("key02", "value2").unwrap(); dbmap.putstring("key03", "value3").unwrap(); // // iterator let mut iter = dbmap.iter(); asserteq!(iter.next(), Some(("key01".into(), "value1".into()))); asserteq!(iter.next(), Some(("key02".into(), "value2".into()))); asserteq!(iter.next(), Some(("key03".into(), "value3".into()))); asserteq!(iter.next(), None); // dbmap.sync_data()?; Ok(()) } ```
This project is licensed under either of
at your option.