Skip to content
/ radis Public

A raft based distributed K/V database with redis-compatible API

License

Notifications You must be signed in to change notification settings

ASjet/radis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radis

A raft based distributed K/V database with redis-compatible API, implemented in async rust.

Getting Started

# Start a 3-node cluster, will listen on port 63790, 63791, 63792 respectively
./run.sh 3

Use redis-cli to connect to one of the node:

redis-cli -p 63790
127.0.0.1:63790> get foo
(nil)

Use redis-cli to connect to another node and make a write request:

redis-cli -p 63791
127.0.0.1:63791> get foo
(nil)
127.0.0.1:63791> set foo 123
OK
127.0.0.1:63791> get foo
"123"

Then this update will be visible to all nodes:

127.0.0.1:63790> get foo
"123"

Features

  • Automatic failover
  • Read/Write splitting
  • Write forwarding
  • Persistence(WAL)
  • Log compaction(snapshot)
  • Dynamic membership

License

Radis is licensed under the MIT license.

About

A raft based distributed K/V database with redis-compatible API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published