This is "Redis"-like server, with support for RESP v2 protocol for serialization and deserialization, and a subset of Redis commands: PING, ECHO, GET, SET (with NX, XX, EX and PX options), DEL, EXISTS, INCR, DECR, LPUSH, RPUSH, LRANGE, FLUSHALL and SAVE. It seamlessly works with the Redis CLI, as well as the Jedis (Java) Client for Redis.
- Run
git clone <URL>
- Open powershell (or terminal),
cd
into the projects base directory, if you are not already there. - Run
mvn clean package
, does as above, but also runs the tests. - To run the jar, execute
java --enable-preview -jar .\target\RedisServer-1.0-SNAPSHOT.jar
from the projects base directory
- You can also use Docker image by executing
docker build -t <my-application> .
- Then Run
docker run -p 8080:8080 <my-application>
.
-
You will need Java version 21 with --enable-preview flag to use String Template Which are used in serializer and deserializer.
-
If you want to configure Aws cloud Logging then use start scripts in /scripts folder.
- RedisServer (StandAlone)
- RedisServer (Java Implementation)
- RedisServer (StandAlone)
- RedisServer (Java Implementation)
- RedisServer (StandAlone)
- RedisServer (Java Implementation)
This redis implementation does not surpass the official Redis implementation, due to obvious reason , as official redis is in C which is much closer to bare metal.
However, on comparion with other open source java based redis server like ClauDb,the performnace of this implementation performs on average 20% better (set, get, lpush)