rusty dictionary server
Rudis is a database written in Rust, multi-threaded, and compatible with redis. It has better performance than Redis and solves some common problems of Redis.
-
Compatible with redis client
-
More efficient than redis
- Implemented with rust, you can write a safer and more efficient multi-threaded data engine
- Higher io efficiency
- Optimized for big keys
- Optimized for hot keys
-
Less problems than redis
- Use rust to reduce various memory security bugs
- Timely clean up expired data
-
Better operation and maintenance than redis
- Easier to manage clusters
- Random horizontal expansion
- Automatic leader-follower switch
- Automatic scheduling of hot slots
- Disclaimer Please don't use rudis in production now.
- If reliability is your primary constraint, use Redis. Rudis is beta.
- The PD module has not been tested and is temporarily not highly available, so there may be a single point of failure problem
- Only supports linux and macos
- Prepare the latest version of rust toolchain
- Clone code
git clone [email protected]:liangyongrui/rudis.git
- Execute in sequence
cd rudis
cargo build --release
./target/release/server
(Specify address to start:RUDIS_server_addr=0.0.0.0:6379 ./target/release/server
)
- Pass Redis TCL test
- Complete high-availability pd
The performance of Rudis is better than Redis 6.2.5. Check the details.
Contributions are always welcomed! Please refer to CONTRIBUTING for detailed guidelines.
This project is licensed under the MIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rudis by you, shall be licensed as MIT, without any additional terms or conditions.