Crates.io | flash-kv |
lib.rs | flash-kv |
version | 0.2.1 |
created_at | 2025-04-28 03:17:19.460143+00 |
updated_at | 2025-04-28 03:17:19.460143+00 |
description | A simple k/v store API inspired by bitcask |
homepage | https://github.com/KevinZh0C/FlashKV-rs |
repository | https://github.com/KevinZh0C/FlashKV-rs |
max_upload_size | |
id | 1651754 |
size | 175,793 |
An efficient key-value storage engine, designed for fast reading and writing, which is inspired by Bitcask.
See Introduction, Installation and Usages for more details.
Flash-KV is a high-performance key-value storage system written in Rust. It leverages a log-structured design with an append-only write approach to deliver exceptional speed, reliability, and scalability.
Efficient Key-Value Storage: Optimized for fast read and write operations with minimal overhead.
Diverse Index: Support BTree, Skiplist, BPlusTree index for multiple index strategies.
MemMap files for efficient I/O: To achieve rapid index reconstruction and enhance startup speeds
Low latency per item read or written: Benchmarks run on a Macintosh with Apple M1 Core:
~ 3.3 µs
~ 370 ns
Concurrency Support: fine-grained locking minimizes contentions.
WriteBatch transaction: commit a batch of writes to ensure atomicity.
To use flash-kv in your project, add it as a dependency in your Cargo.toml file:
[dependencies]
flash-kv = "0.2.1"
Then, run cargo build to download and compile flash-kv and its dependencies.
For more detailed setup and compilation instructions, visit the Flash-KV GitHub repository.
Please see examples
.
For detailed usage and API documentation, refer to the flash-kv Documentation.
Contributions to this project are welcome! If you find any issues or have suggestions for improvements, please raise an issue or submit a pull request.