The simple local key-value store.
DbMapString
has keys as utf-8 string.DbMapU64
has keys as u64.```rust use siamesedb::{DbMapString, DbXxx};
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".tostring(), "value1")?; let r = dbmap.getstring("key1")?; asserteq!(r, Some("value1".tostring())); dbmap.syncdata()?; Ok(()) } ```
```rust use siamesedb::{DbMapU64, DbXxx};
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.dbmapu64("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::{DbMapString, DbMap, DbXxx};
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".into(), "value1").unwrap(); dbmap.putstring("key02".into(), "value2").unwrap(); dbmap.putstring("key03".into(), "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.