grebedb 1.0.0

Lightweight embedded key-value store/database backed by files in a virtual file system interface
Documentation
// Demonstrates the use of a cursor.

use grebedb::{Database, Options};

fn main() -> Result<(), grebedb::Error> {
    let options = Options::default();
    let mut db = Database::open_memory(options)?;

    for number in 0..10 {
        db.put(
            format!("key:{:04x}", number),
            format!("hello world {}!", number),
        )?;
    }

    println!("Printing all the key-values...");

    for (key, value) in db.cursor()? {
        println!(
            "Cursor key = {}, value = {}",
            std::str::from_utf8(&key).unwrap(),
            std::str::from_utf8(&value).unwrap()
        );
    }

    println!("Printing all the key-values starting from [key:0004, key:0008) ...");

    let cursor = db.cursor_range("key:0004".."key:0008")?;

    for (key, value) in cursor {
        println!(
            "Cursor key = {}, value = {}",
            std::str::from_utf8(&key).unwrap(),
            std::str::from_utf8(&value).unwrap()
        );
    }

    Ok(())
}