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.
Features
- get
- set
- getset
- setex/setnx
- ttl/pttl
- mget
- mset
- incr/decr/incrby/decrby
- subscribe/unsubscribe
- publish