rustmap-db
is an advanced, high-performance key-value store library implemented in Rust. It provides persistent, disk-backed storage solutions with an emphasis on concurrency and safety. This project leverages Rust's powerful type system and concurrency model to ensure thread-safe operations and efficient data management.
- Concurrency-Friendly: Utilizes
DashMap
for high-performance, concurrent access. - Asynchronous API: Full support for non-blocking, asynchronous operations using Tokio.
- Serialization/Deserialization: Integrated with
Serde
for seamless data serialization. - Customizable HashMap Configuration: Flexible API to tailor performance according to use case.
- Comprehensive Benchmarks and Tests: Includes extensive benchmarks and tests for reliability and performance tuning.
To use rustmap-db
in your project, add the following to your Cargo.toml
:
[dependencies]
rustmap-db = { git = "https://github.com/noahbclarkson/rustmap-db.git", branch = "main" }
- Rust 2021 Edition
- Cargo package manager
Clone the repository and build the project:
git clone https://github.com/noahbclarkson/rustmap-db.git
cd rustmap-db
cargo build --release
use rustmap_db::DBMaker;
#[tokio::main]
async fn main() {
let db = DBMaker::file_db("my_database.db").make().unwrap();
let hashmap = db.hash_map::<String, String>("my_map").unwrap();
hashmap.insert("key1".to_string(), "value1".to_string()).await.unwrap();
println!("Value: {:?}", hashmap.get(&"key1".to_string()).await);
}
For detailed usage and API documentation, visit rustmap-db documentation.
Contributions are welcome! Please read our Contributing Guide for more information on how to get started.
This project is licensed under the GNU General Public License v 3 - see the LICENSE file for details.
- DashMap for providing the underlying concurrent map.
- Tokio for the async runtime.
- Serde for serialization support.
Developed with ❤️ by noahbclarkson