Skip to content
/ Bigdis Public

Bigdis is a persistent database based on the Redis server protocol. Any Redis client can interface with it and start to use it right away.

Notifications You must be signed in to change notification settings

RcrdBrt/Bigdis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bigdis

Bigdis is a persistent database that implements the Redis server protocol. Any Redis client can interface with it and start to use it right away. It's basically a Redis-for-secondary-memory.

The main feature of Bigdis is that it's very friendly with huge keys and huge values. Much friendlier than Redis itself, as the Redis author states (see the credits section).

It has no external dependencies of any kind. It gets away by simply using the comprehensive Go's standard library. Also, since it uses 1 goroutine per client connection it gets to scale to multiple cores "for free".

Status

Bigdis is based on the OG Bigdis (see the credits section for further infos).

This is the subset of commands it currently implements:

Command Status Comment
COMMAND 🔧 Placeholder reply only
PING ✔️
GET ✔️
SET 🔧 Buggy set-get handling
DEL :heavy_check_mark
GETDEL ✔️
EXISTS ✔️
SELECT ✔️
FLUSHDB ✔️
GETSET ✔️
FLUSHALL ✔️
STRLEN ✔️
APPEND ✔️
INCR ✔️
INCRBY ✔️
DECR ✔️
DECRBY ✔️
MSET ✔️
MGET ✔️
MSETNX ✔️
SETNX ✔️

Nothing other than the string type has been implemented as of now.

Credits

This project is heavily inspired - starting from its name - by the TCL lang experiment that antirez - the creator of Redis - did in this repo in July 2010. My project is an answer to the question in his README "Do you think this idea is useful?". I think it really is so I implemented it in Go.

Most parsing code of client requests and replying is taken from here to jumpstart the implementation.

About

Bigdis is a persistent database based on the Redis server protocol. Any Redis client can interface with it and start to use it right away.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages