Skip to content
/ bitcask Public

Simple and threadsafe bitcask implementation in c++

Notifications You must be signed in to change notification settings

snll1/bitcask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitcask

A thread safe bitcask key value store in C++20

Features

  • Concurrent safe put, get and erase. Uses folly concurrent hashmaps and queues.
  • Fine tune the background batch flushing.
  • Background compaction thread.

Usage

#include <bitcask/bitcask.h>

int main() {
    auto bc = BitCask("bitcask_dir", Params{});
    bc.put("hello", "world").get();
    auto value = bc.get("hello").value();
    bc.remove("hello").get();
}

Build

Dependencies :

  • folly
  • gflags
  • glog

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DFolly_DIR=<folly directory>
$ make
$ make test

License

MIT License

About

Simple and threadsafe bitcask implementation in c++

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published