#rocksdb #port #labs #command #notus

yanked notuslabs_db

Notus Labs - RocksDb

5 releases

0.1.4 Aug 11, 2024
0.1.3 Aug 11, 2024
0.1.2 Aug 11, 2024
0.1.1 Aug 11, 2024
0.1.0 Aug 11, 2024

#68 in #rocksdb

MIT license

19KB
380 lines

Sider

A Multithreaded Redis clone written from scratch in Rust.

Build

Sider doesn't have any external dependencies. You can either run it directly:

cargo run --release

Or you can build it and use -p to specify the port and -t to specify a conenction timeout in milliseconds.

cargo build -- release
./target/debug/sider -p 3000 -t 10

Install

Sider is published on crates.io, you can install it using cargo.

cargo install sider

You can also install it using Docker.

docker pull adham99/sider
docker run -p 6379:6379 adham99/sider

Implemented commands (so far):

  • SET
  • GET
  • DEL
  • RPUSH
  • LRANGE
  • INCR
  • INCRBY
  • DECR
  • DECRBY
  • EXPIRE
  • PUBLISH
  • SUBSCRIBE

Benchmarks

On my machine which has an i5-9300H Intel CPU.

Sider performance:

redis-benchmark -n 100000 -c 100 -t set,get

SET: 79365.08 requests per second
GET: 82034.45 requests per second

Official Redis performance:

redis-benchmark -n 100000 -c 100 -t set,get

SET: 56433.41 requests per second
GET: 57077.62 requests per second

Performance may vary depending on the machine you run the benchmarks on.

Dependencies

~26MB
~523K SLoC