Ananke.Redis
0.2.0
dotnet add package Ananke.Redis --version 0.2.0
NuGet\Install-Package Ananke.Redis -Version 0.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ananke.Redis" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ananke.Redis" Version="0.2.0" />
<PackageReference Include="Ananke.Redis" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ananke.Redis --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Ananke.Redis, 0.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ananke.Redis@0.2.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ananke.Redis&version=0.2.0
#tool nuget:?package=Ananke.Redis&version=0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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 —
IOptions<CacheConfig>pattern, or manualSetupAsync() - Replaces in-memory — automatically overrides the default
InMemoryDistributedLock
Not yet included
| Interface | Status | Notes |
|---|---|---|
ICheckpointStore |
❌ Not yet | Built-in InMemoryCheckpointStore and FileCheckpointStore cover dev/single-instance. A Redis-backed implementation would use RedisDataAdapter for storage with EXPIREAT for TTL. See ICheckpointStore remarks for implementation guidance. |
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Ananke.Abstractions (>= 0.2.0)
- Ananke.Orchestration (>= 0.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.3)
- Microsoft.Extensions.Options (>= 10.0.3)
- RedLock.net (>= 2.3.2)
- StackExchange.Redis (>= 2.11.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.