snkrj

Crates.iosnkrj
lib.rssnkrj
version0.1.1
created_at2024-12-14 13:04:21.694243+00
updated_at2024-12-14 16:40:46.067602+00
descriptionA simple wrapper around Sanakirja's database that acts as a very fast on disk BTreeMap
homepage
repositoryhttps://github.com/kibo-money/kibo/tree/main/src/crates/snkrj
max_upload_size
id1483114
size18,132
(nym21)

documentation

README

snkrj

A simple wrapper around Sanakirja aatabase that acts as a very fast on disk BTreeMap.

Example

use snkrj::{AnyDatabase, Database};

fn main() {
    let path = std::env::temp_dir().join("./db");

    let database: Database<i32, i32> = Database::open(path.clone()).unwrap();
    let _ = database.destroy();

    let mut database: Database<i32, i32> = Database::open(path.clone()).unwrap();
    database.insert(64, 128);
    database.export(false).unwrap();

    let mut database: Database<i32, i32> = Database::open(path).unwrap();
    database.insert(1, 2);
    database.insert(128, 256);
    println!("iter_ram:");
    database.iter_ram().for_each(|pair| {
        println!("{:?}", pair);
    });
    println!("iter_disk:");
    database.iter_disk().for_each(|pair| {
        println!("{:?}", pair.unwrap());
    });
    println!("iter_ram_then_disk:");
    database.iter_ram_then_disk().for_each(|pair| {
        println!("{:?}", pair);
    });
    database.export(false).unwrap();
}
Commit count: 0

cargo fmt