Skip to content

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[WIP] ember: Redis-compatible distributed Key-Value Store

Currently supports:

  • RESP2/RESP3 Compatible
  • Pub/Sub (PUBLISH, SUBSCRIBE, UNSUBSCRIBE)
  • SET, GET, MSET, MGET, INCR, INCRBY, DECR, DECRBY, FLUSHALL
  • Server and Client CLI (kinda like redis-server and redis-cli)
  • [WIP] Clusters via docker compose. Currently supports:
    • CLUSTER START
    • CLUSTER CREATE
    • CLUSTER MEET
    • CLUSTER ADDSLOTSRANGE
  • Planned: Other data types, persistence, transactions, TTL, Cache Eviction

Installation

git clone https://github.com/omavashia2005/emberdb.git && cd emberdb

Run

Normal Mode

Open connection to server

go run main.go
ember-server> ember start

Start CLI

./ember-cli

Run any Redis commands (SET, GET, MSET, MGET, INCR, INCRBY, DECR, DECRBY, FLUSHALL)

Cluster Mode

Start the server cluster

docker compose up --build

In a separate session, run the CLI. This example is for the current compose.yaml with 5 nodes. Minimum 3 nodes required.

./ember-cli --create-cluster 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383

About

Blazing fast distributed Redis-compatible (RESP3) key-value store in Golang

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages