use holt::{TreeBuilder, TreeConfig};
fn main() {
println!("=== holt basic_kv example ===\n");
let tree = TreeBuilder::new("scratch")
.memory()
.buffer_pool_size(64)
.open()
.expect("open");
println!("Tree opened: {tree:?}\n");
tree.put(b"img/01.jpg", b"\x89PNG...").unwrap();
tree.put(b"img/02.jpg", b"\xFF\xD8\xFF...").unwrap();
tree.put(b"meta/owner", b"alice").unwrap();
for key in [
b"img/01.jpg".as_ref(),
b"img/02.jpg",
b"meta/owner",
b"missing",
] {
match tree.get(key).unwrap() {
Some(v) => println!(
"get {:?} -> {} bytes",
String::from_utf8_lossy(key),
v.len()
),
None => println!("get {:?} -> (none)", String::from_utf8_lossy(key)),
}
}
let existed = tree.delete(b"meta/owner").unwrap();
println!("\ndelete meta/owner existed = {existed}");
println!("get meta/owner -> {:?}", tree.get(b"meta/owner").unwrap());
let _persistent_cfg = TreeConfig::new("/var/lib/myapp"); let _memory_cfg = TreeConfig::memory();
}