Ananke.Redis
0.8.7
dotnet add package Ananke.Redis --version 0.8.7
NuGet\Install-Package Ananke.Redis -Version 0.8.7
<PackageReference Include="Ananke.Redis" Version="0.8.7" />
<PackageVersion Include="Ananke.Redis" Version="0.8.7" />
<PackageReference Include="Ananke.Redis" />
paket add Ananke.Redis --version 0.8.7
#r "nuget: Ananke.Redis, 0.8.7"
#:package Ananke.Redis@0.8.7
#addin nuget:?package=Ananke.Redis&version=0.8.7
#tool nuget:?package=Ananke.Redis&version=0.8.7
Ananke.Redis
Redis infrastructure for Ananke — IDistributedLock via RedLock.net and IKeyValueDataAdapter via StackExchange.Redis.
Install
dotnet add package Ananke.Redis
Quick start
using Ananke.Redis;
services.AddStateMachine();
services.AddRedis(c =>
{
c.Host = "localhost";
c.Port = 6379;
c.Password = "secret";
c.LockExpirySeconds = 30;
});
Or with simple parameters:
services.AddRedis("localhost", port: 6379, password: "secret");
Call order with AddStateMachine() doesn't matter — AddRedis replaces the in-memory fallback automatically.
What it registers
| Service | Implementation |
|---|---|
IDistributedLock |
RedisDistributedLock (RedLock.net) |
IKeyValueDataAdapter |
RedisDistributedLock (StackExchange.Redis) |
Both interfaces are backed by the same singleton, which manages the Redis connection and RedLock factory.
Features
- Distributed locking — RedLock algorithm for safe multi-instance coordination
- Key-value storage — JSON serialized get/set/remove/exists via StackExchange.Redis
- Conversation memory —
RedisConversationMemoryfor persistent chat history - DI-friendly — constructed from
IOptions<CacheConfig>; connects lazily on first use - Replaces in-memory — automatically overrides the default
InMemoryDistributedLock
ICheckpointStore — manual wiring
RedisCheckpointStore is a Redis-backed ICheckpointStore (JSON-serialized checkpoints,
native EXPIREAT TTL). Unlike RedisDistributedLock/RedisDataAdapter, it is not
registered automatically by AddRedis(...) — it takes a ConnectionMultiplexer directly
and must be registered separately:
services.AddSingleton<ICheckpointStore>(sp =>
new RedisCheckpointStore(ConnectionMultiplexer.Connect("localhost:6379")));
Documentation
Full docs, demos, and architecture: github.com/sevensamurai/Ananke
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Ananke.Abstractions (>= 0.8.7)
- Ananke.Orchestration (>= 0.8.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- RedLock.net (>= 2.3.2)
- StackExchange.Redis (>= 3.0.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.8.7 | 88 | 7/19/2026 |
| 0.8.6 | 113 | 6/22/2026 |
| 0.8.5 | 114 | 6/15/2026 |
| 0.8.4 | 107 | 5/29/2026 |
| 0.8.3 | 108 | 5/17/2026 |
| 0.8.2 | 104 | 5/15/2026 |
| 0.8.1 | 106 | 5/9/2026 |
| 0.8.0 | 109 | 5/9/2026 |
| 0.7.2 | 117 | 4/12/2026 |
| 0.7.1 | 109 | 4/11/2026 |
| 0.7.0 | 112 | 4/11/2026 |
| 0.6.0 | 112 | 4/10/2026 |
| 0.5.0 | 123 | 4/5/2026 |
| 0.4.0 | 111 | 4/3/2026 |
| 0.3.0 | 122 | 3/15/2026 |
| 0.2.0 | 114 | 3/6/2026 |
| 0.1.0 | 115 | 3/3/2026 |