Overview: - valdr is a single node Redis/ Valkey server, drop in for RESP2/RESP3 - ~12 unsafe blocks, all at FFI/syscall boundaries, data path is zero-unsafe. Out of these some can be removed by changing the Lua dependency to a rust version - Supports all the core features, didn't implement clustering, high availability, or the C ABI for now. Roadmap here https://valdr.dev/roadmap.html
Performance: - Faster than upstream on core commands, especially with high pipeling (GET 1.3X, Set 1.4X, LRANGE up to ~1.6x) - The win mainly comes from Rust's borrow checker, the rest is scattered. Some if it is because we just implement less features than - Reproduction steps here https://github.com/ianm199/valdr#benchmark-commands
Why I built it: - The landscape of OSS security is changing greatly, I was thinking that if memory safety becomes an even larger issue it is good to have drop in memory safer alternatives - The bun rewrite kicked off a lot of discussion in this area, I was curious if you could take the great parts of that with closer to creating a port that is closer idiomatic/ safe Rust - The Rust community has built some great primatives like rustls and tokio, and now is a great time to build on top of those. This project doesn't use tokio but likely will when I implement thread pooling
How it was built: - Heavily leveraged by orchestrated AI agents between Claude Code and Codex + API calls to other providers - I developed several different porting harnesses in the process although none that are yet good enough to share and be useful - Tuned performance using a suite of tools to track hotspots in the code, happy to share more details
Try it: - docker run --rm -p 6379:6379 ghcr.io/ianm199/valdr:alpha then point any redis client at it - This project is definitely in an alpha state - would love for anyone to throw some real workloads at it and let me know what you think!
m1rsh0•3h ago