Keryhe.Almandine.Client
1.0.0-preview.1
dotnet add package Keryhe.Almandine.Client --version 1.0.0-preview.1
NuGet\Install-Package Keryhe.Almandine.Client -Version 1.0.0-preview.1
<PackageReference Include="Keryhe.Almandine.Client" Version="1.0.0-preview.1" />
<PackageVersion Include="Keryhe.Almandine.Client" Version="1.0.0-preview.1" />
<PackageReference Include="Keryhe.Almandine.Client" />
paket add Keryhe.Almandine.Client --version 1.0.0-preview.1
#r "nuget: Keryhe.Almandine.Client, 1.0.0-preview.1"
#:package Keryhe.Almandine.Client@1.0.0-preview.1
#addin nuget:?package=Keryhe.Almandine.Client&version=1.0.0-preview.1&prerelease
#tool nuget:?package=Keryhe.Almandine.Client&version=1.0.0-preview.1&prerelease
Keryhe.Almandine.Client
Lightweight consumer client for the Almandine cache tier. Talks to Almandine's Garnet
server over StackExchange.Redis — no dependency on Almandine's server-side stack
(Garnet, RabbitMQ, Polly), so it's safe to reference from any thin consumer service.
Install
dotnet add package Keryhe.Almandine.Client
Setup
builder.Services.AddCacheClient(connectionString: "127.0.0.1:6379");
Registers a shared IConnectionMultiplexer/IDatabase and a scoped CacheClient.
Usage
public class OrdersService(CacheClient cache)
{
public Task<Order?> GetAsync(string id) => cache.GetAsync<Order>($"order:{id}");
public Task SetAsync(Order order) => cache.SetAsync($"order:{order.Id}", order);
public Task DeleteAsync(string id) => cache.DeleteAsync($"order:{id}");
}
Batch operations round-trip once for many keys:
await cache.GetManyAsync<Order>(ids);
await cache.SetManyAsync(orders.ToDictionary(o => $"order:{o.Id}", o => o));
await cache.DeleteManyAsync(ids);
GetAllAsync<T>(prefix) scans the cache for all keys under a prefix (e.g. "order") —
it only returns what's currently cached, so it assumes the cache is warm.
Every call automatically propagates the current Activity's W3C trace context
(traceparent) to the server if one is present, and emits its own spans on the
almandine.client ActivitySource.
| 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
- StackExchange.Redis (>= 2.11.3)
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 |
|---|---|---|
| 1.0.0-preview.1 | 87 | 8/30/2026 |