rediak

command module
v0.0.0-...-3b43e51 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2019 License: GPL-3.0 Imports: 14 Imported by: 0

README

Rediak

  • Distribute(work in progress) in-memory key-value store written in Go
  • (wanna) fast NoSQL DB uses RESP (REdis Serialization Protocol).
  • multi-thread key-value store using goroutine
  • Sync.map
  • Making your own custom RESP-based command available

Overview

-(Distributed) in-memory key-value store

  • Compatible with RESP protocol(some commands only, see below)

Install

go build -ldflags "-w" *.go

Usage

Redis compatible use like redis,
  • In some commands only though... this project is my summer projects and currently working on
Current implemented command
  • String and keys

    • get
    • set
    • del
    • exists
    • incr
    • incrby
    • expire
  • Hash

    • hget
    • hset
    • hdel
    • hexists
  • list

    • lpush
    • lpop
    • lindex
    • llen
    • lrange
  • custom and etc

    • ping (response :pong)
    • gc (execute GC )
    • exit

Configuration

./rediak -evict-interval second (some options...)
  • Strong-lock use mutex to all modification command,
  • evict-interval int Default interval of eviction, 0 means no active eviction
  • num-core int number of cores using this instances (default 4)
  • printinfo-interval int Default time interval of print interval (default 1)
  • rediak-addr string the address of rediak server (default "127.0.0.1") -> currently not used
  • rediak-port int the port of rediak server (default 6380)
  • restore-snapshot string if restore needed, write absolute path of files( like /path/of/folder/file.rdb )
  • snapshot-interval int Default time interval of take snapshot, 0 means no active snapshot
  • snapshot-modify-interval int Default time interval of take snapshot, 0 means no active eviction (default 1)
  • storage-dir string Default persistent storage location /path/to/snapshotfolder (default "./")

References

for basic structure

for RESP

consistent hashing for cluster

Contributing

  • Sorry.
  • I want to develop this project on my own this time.
  • I know this project have lots of dirty code.

Issue

  • Please make new issue if you have to.

License

GNU General Public License v3.0

For references's license, See NOTICE and some files...

Documentation

Overview

Original code : https://github.com/alash3al/redix Modifications copyright (C) 2019 Taekyun Lee

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL