A distributed, in-memory store for .NET — and a lot more than a cache. Every capability below links to a demo, its docs, and a runnable sample. The same client and connection string reach all of it.
The core distributed key/value store with a typed .NET client — put, get, delete, and the options you use everywhere.
Redis-style collections as first-class, server-side types — each one a single replicated key, via the typed API or the RESP HSET/LPUSH/SADD/ZADD commands.
Per-key time-to-live for caches, sessions, and rate windows — set, refresh, and let keys expire automatically.
A built-in Redis-protocol listener lets ordinary Redis clients — Python, Ruby, Java, Go, and more — use Zaris as a drop-in store.
Point your existing .NET Redis code at a Zaris node — the same calls, now on a partitioned, replicated store, no rewrite.
The supported RESP command surface across strings, hashes, lists, sets, sorted sets, streams, and pub/sub — and what is cleanly rejected.
CRC16-aligned slots let cluster-aware clients route straight to the owning node — no proxy hop. Load Balancer and Cluster failover models are supported.
Cluster-wide publish/subscribe — messages fan out to subscribers on any node, with pattern subscriptions — native and behind RESP SUBSCRIBE/PUBLISH.
Atomic multi-key transactions with optimistic conflict detection keep concurrent updates correct under load.
Optimistic concurrency — update a value only if it has not changed, no locks required.
React to key and prefix changes in real time instead of polling — config reloads, presence, dashboards, fan-out.
Time-bound ownership of keys and mutual-exclusion locks with automatic expiry — the basis for safe coordination.
Elect a single leader across instances using leases and watches; a survivor takes over on failure.
Use Zaris as an ASP.NET Core IDistributedCache provider — your caching code does not change, only what is behind it.
An in-process L1 over the distributed L2, with tag invalidation and stampede protection — speed with consistency.
Data is sharded across nodes and replicated (RF2) with automatic placement — a primary and a replica on different nodes.
Kill a node mid-traffic and its replicas promote instantly — the client never stops, and no acked writes are lost.
Encrypt and mutually authenticate every connection, with four CA/trust models from auto-generated to bring-your-own-CA.
Require a token to connect, delivered safely from an environment variable or file — never in the connection string.
Deny-by-default role-based access control — grant exactly the operations each identity needs, enabled per store.
Create, scale, secure, and observe every store from a browser — nodes, partitions, membership, and live metrics.
Full command-line tooling for workspaces, stores, scaling, security, and diagnostics — scriptable end to end.
One connection string reaches every deployment — comma-separated seed hosts with automatic failover, store name in the path.
In-process, Docker & Compose, Kubernetes (Helm), or a Windows package — the same client and connection string reach all of them.
Watch the demos, read the docs, or install Zaris and connect in minutes.