Skip to content

Latest commit

 

History

History
29 lines (20 loc) · 1018 Bytes

README.md

File metadata and controls

29 lines (20 loc) · 1018 Bytes

async-redis

A prototype of a high-performance KV database built with Rust.

Author: 3andero

11/10/2021

Overview

The project starts as a fork of mini-redis, and then evolves into a lockless actor based design iteratively. The removal of explicit use of Mutex results in better throughput. It can achieve similar or slightly better performance to the original Redis on x86 Linux, and slightly worse performance on AArch64 machines, partly due to Rust not providing SwissTable on these platforms. When it comes to multiple operations (e.g., mset, mget), there's a significant performance gain for our implementation.

workflow

Features

  • get
  • set
  • getset
  • setex/setnx
  • ttl/pttl
  • mget
  • mset
  • incr/decr/incrby/decrby
  • subscribe/unsubscribe
  • publish

License

GPL-3