GithubHelp home page GithubHelp logo

rcrdbrt / bigdis Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 63 KB

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.

Go 100.00%

bigdis's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.