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…