Valdr

Valkey, in safe Rust. Alpha.

Valdr is intended to be a drop-in replacement for Valkey/Redis for single-node use cases, written in mostly-safe Rust. Aiming to be part of a future with safer critical infrastructure for the web. Valdr implements the single-node core command surface; the C module ABI, clustering, Sentinel, and production high availability are outside the current alpha claim.

Run it Benchmarks GitHub

Coverage

  Counted assertions             ██████████  3,035 / 3,035
  Single-node-core blocks        ██████████  2,525 / 2,526   · 99.96%
  Full upstream Valkey suite     ██████░░░░  2,534 / 4,281   · 59%

Valkey's own tests, not ours. Single-node, in scope: 100% of counted assertions, 99.96% of core source blocks. The remaining core source block is filtered to a 0/0 run by tag policy. AOF is single-node correctness-gated; replication/HA is still alpha and not part of the single-node claim. The full-suite figure is lower because ~41% of upstream tests cover cluster, modules, Sentinel, and integration we do not claim yet. Verified against Valkey 9.1.0.

→ Full breakdown by category

Scope

  Strings, lists, hashes, sets, sorted sets  ████████████  full
  Streams + consumer groups                  ████████████  full
  Pub/Sub (regular + sharded)                ████████████  full
  Transactions (MULTI/EXEC/WATCH)            ████████████  full
  Scripting (EVAL/EVALSHA/FCALL)             ████████████  via mlua
  ACL, AUTH, multi-DB                        ████████████  full
  Expiration, maxmemory eviction             ████████████  full
  RDB persistence                            ████████████  bidirectional
  TLS                                        ████████████  rustls 1.2/1.3, mTLS

  AOF persistence                            ███████████░  single-node gated
  Replication                                ██████░░░░░░  alpha · HA/PSYNC unproven

  Cluster mode                               ░░░░░░░░░░░░  not implemented
  Sentinel HA                                ░░░░░░░░░░░░  not implemented
  Loadable C module ABI                      ░░░░░░░░░░░░  not implemented

Performance

loading benchmark data…

Auto-generated from the latest benchmark run. Ratio = Valdr rps ÷ Valkey rps; >1.00× means Valdr is faster.

Full per-row data (auto-generated from the latest benchmark run)
loading benchmark data…

About

Valdr aims to be a drop in replacement for Valkey in the long run. Big picture the thought is that if the memory safety issue becomes even large problem it will be important to have memory safe alternatives ready to go. It also is able to leverage some truly great modern primatives like rustls and later on tokio. your own words.

I'm aiming to develop a suite of similar tools in the same vein, like my project in [Lua for Rust](https://github.com/ianm199/lua-rs-port/tree/main). In addition to memory safety this can provide cross compilation for many projects.

Try it

docker pull ghcr.io/ianm199/valdr:alpha
docker run -d --name valdr -p 6379:6379 ghcr.io/ianm199/valdr:alpha
printf 'PING\r\n' | nc 127.0.0.1 6379
# +PONG

docker run --rm --network host valkey/valkey:8-alpine \
  valkey-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 50 -P 100 -t get,set