A Redis Module that make it possible to create a consistent Raft cluster from multiple Redis instances.
C
841
924 commits
updated Apr 13, 2026
:warning: RedisRaft is still being developed and is not yet ready for any real production use. Please do not use it for any mission critical purpose at this time.
RedisRaft is a Redis module that implements the Raft Consensus Algorithm, making it possible to create strongly-consistent clusters of Redis servers.
The Raft algorithm is provided by a standalone Raft library. This is a fork of the original library created by Willem-Hendrik Thiart, which is now actively maintained by Redis Ltd.
To compile the module, you will need:
To build:
git clone https://github.com/RedisLabs/redisraft.git
cd redisraft
mkdir build && cd build
cmake ..
make
redisraft.so will be created under the project directory.
RedisRaft requires Redis build from the 'unstable' branch. Build Redis first:
git clone https://github.com/redis/redis
cd redis
make
make install
To create a three-node cluster, start the first node:
redis-server \
--port 5001 --dbfilename raft1.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog1.db \
--raft.addr localhost:5001
Then initialize the cluster:
redis-cli -p 5001 raft.cluster init
Now start the second node, and run the RAFT.CLUSTER JOIN command to join it to the existing cluster:
redis-server \
--port 5002 --dbfilename raft2.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog2.db \
--raft.addr localhost:5002
redis-cli -p 5002 RAFT.CLUSTER JOIN localhost:5001
Now add the third node in the same way:
redis-server \
--port 5003 --dbfilename raft3.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog3.db
--raft.addr localhost:5003
redis-cli -p 5003 RAFT.CLUSTER JOIN localhost:5001
To query the cluster state, run the INFO raft command:
redis-cli -p 5001 INFO raft
Now you can start using this RedisRaft cluster. All supported Redis commands will be executed in a strongly-consistent manner using the Raft protocol.
Please consult the documentation for more information.
RedisRaft is licensed under the Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1).
(top 24 of 27)
276 followers · starred Jul 2020
163 followers · starred Apr 2020
286 followers · starred Jun 2020
471 followers · starred Sep 2020
A Redis Module that make it possible to create a consistent Raft cluster from multiple Redis instances.
C
841
924 commits
updated Apr 13, 2026
:warning: RedisRaft is still being developed and is not yet ready for any real production use. Please do not use it for any mission critical purpose at this time.
RedisRaft is a Redis module that implements the Raft Consensus Algorithm, making it possible to create strongly-consistent clusters of Redis servers.
The Raft algorithm is provided by a standalone Raft library. This is a fork of the original library created by Willem-Hendrik Thiart, which is now actively maintained by Redis Ltd.
To compile the module, you will need:
To build:
git clone https://github.com/RedisLabs/redisraft.git
cd redisraft
mkdir build && cd build
cmake ..
make
redisraft.so will be created under the project directory.
RedisRaft requires Redis build from the 'unstable' branch. Build Redis first:
git clone https://github.com/redis/redis
cd redis
make
make install
To create a three-node cluster, start the first node:
redis-server \
--port 5001 --dbfilename raft1.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog1.db \
--raft.addr localhost:5001
Then initialize the cluster:
redis-cli -p 5001 raft.cluster init
Now start the second node, and run the RAFT.CLUSTER JOIN command to join it to the existing cluster:
redis-server \
--port 5002 --dbfilename raft2.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog2.db \
--raft.addr localhost:5002
redis-cli -p 5002 RAFT.CLUSTER JOIN localhost:5001
Now add the third node in the same way:
redis-server \
--port 5003 --dbfilename raft3.rdb \
--loadmodule <path-to>/redisraft.so \
--raft.log-filename raftlog3.db
--raft.addr localhost:5003
redis-cli -p 5003 RAFT.CLUSTER JOIN localhost:5001
To query the cluster state, run the INFO raft command:
redis-cli -p 5001 INFO raft
Now you can start using this RedisRaft cluster. All supported Redis commands will be executed in a strongly-consistent manner using the Raft protocol.
Please consult the documentation for more information.
RedisRaft is licensed under the Redis Source Available License 2.0 (RSALv2) or the Server Side Public License v1 (SSPLv1).
(top 24 of 27)
276 followers · starred Jul 2020
163 followers · starred Apr 2020
286 followers · starred Jun 2020
471 followers · starred Sep 2020