cas
cask
cargo install cask
cas

cask

A fast key-value store written in Rust

by André Silva

0.7.1 (see all)License:MIT
cargo install cask
Readme

Cask

A fast key-value store written in Rust. The underlying storage system is a log-structured hash table which is inspired by bitcask.

Build Status Crates.io License

API Documentation


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:

[dependencies]
cask = "0.7.0"

Then, use Cask in your crate:

extern crate cask;
use cask::{Cask, CaskOptions};

Usage

The basic usage of the library is shown below:

let cask = CaskOptions::default()
    .compaction_check_frequency(1200)
    .sync(SyncStrategy::Interval(5000))
    .max_file_size(1024 * 1024 * 1024)
    .open("cask.db")?;

let key = "hello";
let value = "world";

cask.put(key, value)?;
cask.get(key)?;
cask.delete(key)?;

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.

GitHub Stars

87

LAST COMMIT

2yrs ago

MAINTAINERS

1

CONTRIBUTORS

5

OPEN ISSUES

1

OPEN PRs

0
VersionTagPublished
0.7.1
5yrs ago
0.7.0
5yrs ago
0.6.0
5yrs ago
0.5.0
5yrs ago
No alternatives found
No tutorials found
Add a tutorial