Cask
A fast key-value store written in Rust. The underlying storage system is a log-structured hash table which is inspired by bitcask.
WARNING: ⚠️ Please do not trust any valuable data to this yet. ⚠️
Installation
Use the crates.io repository, add this to your Cargo.toml along with the rest of your dependencies:
[]
= "0.7.0"
Then, use Cask
in your crate:
extern crate cask;
use ;
Usage
The basic usage of the library is shown below:
let cask = default
.compaction_check_frequency
.sync
.max_file_size
.open?;
let key = "hello";
let value = "world";
cask.put?;
cask.get?;
cask.delete?;
TODO
- Basic error handling
- Merge files during compaction
- Configurable compaction triggers and thresholds
- Documentation
- Tests
- Benchmark
- Handle database corruption
License
cask is licensed under the MIT license. See LICENSE
for
details.