mirror of
				https://github.com/taigrr/bitcask
				synced 2025-01-18 04:03:17 -08:00 
			
		
		
		
	bitcask
A Bitcask (LSM+WAL) Key/Value Store written in Go.
Features
- Embeddable
- Builtin CLI
Install
$ go get github.com/prologic/bitcask
Usage (library)
Install the package into your project:
$ go get github.com/prologic/bitcask
package main
import (
    "log"
    "github.com/prologic/bitcask"
)
func main() {
    db, _ := bitcask.Open("/tmp/db")
    db.Set("Hello", []byte("World"))
    db.Close()
}
See the godoc for further documentation and other examples.
Usage (tool)
$ bitcask -p /tmp/db set Hello World
$ bitcask -p /tmp/db get Hello
World
Performance
Benchmarks run on a 11" Macbook with a 1.4Ghz Intel Core i7:
$ make bench
...
BenchmarkGet-4   	   50000	     33185 ns/op	     600 B/op	      14 allocs/op
BenchmarkPut-4   	  100000	     16757 ns/op	     699 B/op	       7 allocs/op
- ~30,000 reads/sec
- ~60,000 writes/sec
License
bitcask is licensed under the MIT License
Description
				🔑A high performance Key/Value store written in Go with a predictable read/write performance and high throughput. Uses a Bitcask on-disk layout (LSM+WAL) similar to Riak.
						
						
						
					Languages
				
				
								
								
									Go
								
								98.4%
							
						
							
								
								
									Makefile
								
								1%
							
						
							
								
								
									Shell
								
								0.5%
							
						
							
								
								
									Dockerfile
								
								0.1%