Skip to content

Documentation

Guides and reference for the Ruvio server and its clients. Each page is generated from the docs/ folder and the client READMEs in the repository.

Start

  • Setup
  • ConfigurationAll merged settings and cross-field relationships are validated before a listener is opened.
  • Portability StrategyRuvio treats operating-system integration as an adapter, not as part of the storage model.
  • Support MatrixRuvio is tested in CI on the combinations below.
  • Moving data from Redis: ruvio-ctl importThe tool scans the source with SCAN, reads each key by type (GET, LRANGE, SSCAN, HSCAN, ZSCAN, XRANGE), writes it to the target with ordinary commands and…

Concepts

  • Ruvio ArchitectureRuvio is structured as a shared-nothing in-memory key-value store.
  • Connection modelThis page says who chooses what when an application talks to Ruvio: the server, the client library, or the application.
  • Data TypesRuvio stores each key as an Entry containing shared metadata and a native typed Value.
  • Logical DatabasesRuvio has numbered logical databases, like Redis and Garnet with cluster mode off.
  • Storage Layout BoundaryKvShard is generic over a StorageIndex.
  • Memory AccountingRuvio maintains deterministic memory charges inside each shard.
  • Native idempotency (IDEM)IDEM coordinates bounded request deduplication on the shard that owns a key.

Operate

  • Recovery, Backup, and IntegrityRuvio stores durable state under a single data directory.
  • Advanced Resilience TestsThis page describes what Ruvio's crash, restart and disk-fault testing covers, what it checks, how the checker itself is tested, and what it has found.
  • ObservabilityEach shard owner keeps its own counters.
  • Threat ModelRuvio is a Redis-protocol-compatible, memory-first key-value store.
  • Supply ChainThis policy covers how Ruvio audits Rust dependencies, what licenses are accepted, how a software bill of materials is produced, and how to report a…

Clients

  • ClientsFirst-party application clients for six languages.
  • Rust clientBlocking RESP2 client for Ruvio, with cluster routing and a typed method for every listed command.
  • C# clientRESP2 client for Ruvio with typed methods for every server command, single-connection multiplexing and cluster routing.
  • C# client: ASP.NET Core registrationDependency-injection registration, configuration binding and an opt-in PING health check for Ruvio.Client.
  • Go clientFast, allocation-light client for Ruvio.
  • Java clientMultiplexed, allocation-light client for Ruvio.
  • Python clientSync and asyncio client for Ruvio.
  • Node.js clientFast, zero-dependency RESP client for Ruvio.
  • Client behaviorWhat the six clients do when a cluster redirects, a command spans slots, or a socket drops.

Integrations

  • .NETSeparately packaged NuGet packages that connect Ruvio to ASP.NET Core and Microsoft.Extensions.

Reference

  • CommandsEvery supported command by family, generated from the compatibility matrix.
  • Redis Compatibility ContractRuvio implements a tested subset of the Redis serialization protocol and command semantics.

Performance

  • Performance and memoryEvery change is kept only when it does not make a command slower and does not raise RSS for the same data.
  • Benchmarking./scripts/benchmark.sh builds the evented server.
  • Bare-Metal Linux ProfilingUse a dedicated Linux host for actionable CPU and cache data.
  • Measurement recordsEach file is one dated measurement: the machine, the build, the method and the numbers as they were recorded that day.

Contributing

  • Developing RuvioWhere the code lives, how to check a change quickly, and every place a new command, setting or client method has to reach.
  • Testing and EvidenceThis page summarizes what has been exercised, how the checks are run, and which production claims still need evidence.
  • Manual Docker Resilience TestsFor the wider automated test surface, published measurements, and remaining production evidence gaps, see Testing and Evidence.
  • Toolchain NotesWhen you start benchmarking, capture the exact compiler, kernel, and CPU model so throughput numbers remain comparable.
  • ReleasingNo release runs on its own.
  • Release EvidenceThis page records which Production Preview P0 gates are automatable in this repository and which remain blocked on hardware or wall-clock time.
  • Ruvio Product RoadmapRuvio's target is a production-grade, Redis-compatible, shared-nothing data store: memory-first for low latency, with configurable on-disk durability and a…