Deploy Now

Stars

206

Forks

20

Watchers

6

Developer links

Ruvio

Ruvio is a Redis-compatible in-memory database that folds the cache, the lock service, the rate limiter, and the delay queue into one Rust process your existing clients already speak to. Connect with redis-cli or the first-party clients for Rust, .NET, Go, Java, Python, and Node.js, and the familiar strings, hashes, lists, sets, sorted sets, and streams are there, 287 commands in all. The difference shows in the primitives that usually need a second system: LEASE grants a fencing token for a key, SEMAPHORE caps concurrent holders with per-holder TTLs, INCRBY with MAX builds a counter that refuses to pass capacity, SETV writes only when your version is still current, CHANGES arms a feed of later writes on a shard, and XADD DELAY stores a stream entry now and reveals it to consumer groups when the delay passes. Each shard owns its keys outright, parsing, recording, and applying without a lock on the hot path, and features cost memory only on keys that use them. Durability is a startup choice you name, memory, snapshot, everysec, or always, written through a write-ahead log, and replicas copy shard by shard while optional coordinators agree through Raft to promote a replica when a primary stops answering. A browser operator UI shows data, command forms, Pub/Sub, and ACL users on the running server. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. AGPL-3.0 licensed.

Ruvio
Ruvio
Ruvio

Benefits

  • Primitives replace extra systems
  • Leases with fencing tokens, semaphores with per-holder TTLs, capped counters, versioned conditional writes, change feeds, and delayed stream entries run as single commands on the shard that owns the key.
  • Existing Redis clients connect
  • Ruvio speaks RESP2 with optional RESP3 negotiation, so redis-cli and current client libraries work unchanged, backed by six first-party typed clients covering all 287 listed commands.
  • Durability you name
  • Choose memory, snapshot, everysec, or always at startup. Writes are checked, appended to the write-ahead log, then applied, and a log that cannot take a record leaves the key untouched.
  • Failover without babysitting
  • Replicas copy their primary shard by shard and serve reads, while three or five separate coordinator processes use Raft majority agreement to promote a replica when a primary stops answering.

Features

  • Owner-per-shard engine
  • The shard that owns a key parses, records, applies, and replies with no lock on the hot path and no thread hop, and unused features allocate nothing on ordinary keys.
  • Cluster slot routing
  • Multi-node clusters distribute 16,384 slots among replication groups with slot moves and rebalancing; clients learn CLUSTER SLOTS from one seed address and route themselves.
  • Browser operator UI
  • A built-in web view of one running server covers stored data, command forms, Pub/Sub channels, and ACL users, so operators inspect a live instance without extra tooling.
  • Pub/Sub and tracking
  • Classic and sharded Pub/Sub, keyspace notifications behind a mask you set, and RESP3 client-side caching tracking with invalidate pushes on tracked writes.
  • Optional TLS listener
  • With certificate and key configured, clients must speak TLS and plaintext RESP is rejected at handshake; certificate files reload on the next handshake after they change.

Apps Similar to Ruvio