3 releases
0.7.1 | Mar 21, 2024 |
---|---|
0.7.0 | Jan 25, 2024 |
0.7.0-alpha.1 | Jan 6, 2024 |
#1407 in Database interfaces
38KB
408 lines
cdb
This library provides pure Rust support for reading and writing CDB files. A CDB file is a constant key-value on-disk hash table, designed for high-speed lookups.
This is a fork of the cdb-rs crate.
License
The Unlicense
lib.rs
:
This crate provides support for reading and writing CDB files. A CDB is a "constant database" that acts as an on-disk associative array mapping keys to values, allowing multiple values for each key. It provides for fast lookups and low overheads. A constant database has no provision for updating, only rewriting from scratch.
Examples
Reading a set of records:
use cdb2::CDB;
let cdb = CDB::open("tests/test1.cdb")?;
for result in cdb.find(b"one") {
println!("{:?}", result?);
}
Creating a database with safe atomic updating:
use cdb2::CDBWriter;
let mut cdb = CDBWriter::create("temporary.cdb")?;
cdb.add(b"one", b"Hello, ")?;
cdb.add(b"one", b"world!\n")?;
cdb.add(b"two", &[1, 2, 3, 4])?;
cdb.finish()?;
References
Dependencies
~170KB