CacheOrchestrator 2.1.0
dotnet add package CacheOrchestrator --version 2.1.0
NuGet\Install-Package CacheOrchestrator -Version 2.1.0
<PackageReference Include="CacheOrchestrator" Version="2.1.0" />
<PackageVersion Include="CacheOrchestrator" Version="2.1.0" />
<PackageReference Include="CacheOrchestrator" />
paket add CacheOrchestrator --version 2.1.0
#r "nuget: CacheOrchestrator, 2.1.0"
#:package CacheOrchestrator@2.1.0
#addin nuget:?package=CacheOrchestrator&version=2.1.0
#tool nuget:?package=CacheOrchestrator&version=2.1.0
CacheOrchestrator
CacheOrchestrator is domain-based caching for ASP.NET Core: define rules once per domain in configuration, then apply them on endpoints with a single attribute or extension. It orchestrates Output Cache (OC), FusionCache (L1/L2), and client Cache-Control (CC) under the same model.
The package targets .NET 8 and .NET 10.
Install
dotnet add package CacheOrchestrator
Related packages, when you need them:
- CacheOrchestrator.Redis — Redis for Output Cache and FusionCache L2 / backplane
- CacheOrchestrator.Bus — invalidate, Version, and TTL commands across instances
- CacheOrchestrator.EFCore.Invalidation — the cache follows your EF Core saves
Configure
{
"Cache": {
"Namespace": "my-app",
"OutputCache": { "Provider": "InMemory" },
"FusionCacheInstances": {
"default": { "Provider": "InMemory" }
},
"Domains": {
"catalog": {
"Version": "1",
"ClientCacheability": "Public",
"ClientTtlSeconds": 60,
"OutputCacheTtlSeconds": 120,
"FusionCacheSoftTtlSeconds": 300
}
}
}
}
Register
builder.Services.AddCacheOrchestrator(builder.Configuration);
var app = builder.Build();
app.UseCacheOrchestrator();
Apply
app.MapGet("/api/products", async (HttpContext http, IDomainFusionCache cache) =>
{
var data = await cache.GetOrSetAsync(http, LoadProductsAsync);
return Results.Json(data);
})
.CacheOutputWithDomain("catalog");
On a controller, use [CacheDomain("catalog")] and inject IDomainFusionCache in the same way.
Documentation
License
MIT — LICENSE.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- System.IO.Hashing (>= 10.0.10)
- ZiggyCreatures.FusionCache (>= 2.6.0)
- ZiggyCreatures.FusionCache.Serialization.SystemTextJson (>= 2.6.0)
-
net8.0
- System.IO.Hashing (>= 10.0.10)
- ZiggyCreatures.FusionCache (>= 2.6.0)
- ZiggyCreatures.FusionCache.Serialization.SystemTextJson (>= 2.6.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on CacheOrchestrator:
| Package | Downloads |
|---|---|
|
CacheOrchestrator.Redis
Redis backends for CacheOrchestrator: Output Cache store, FusionCache L2 + backplane, and health probes. |
|
|
CacheOrchestrator.EFCore.Invalidation
EF Core SaveChanges hook for CacheOrchestrator: map CLR types to (domain, entityKind) and purge entity tags after a successful save. |
|
|
CacheOrchestrator.Bus
HTTP cluster command bus for CacheOrchestrator: invalidate, Version, and TTL commands across instances (Static or ServiceDiscovery membership). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.1.0 | 133 | 8/15/2026 |
| 2.0.0 | 130 | 8/13/2026 |
| 1.0.0 | 105 | 8/8/2026 |
| 1.0.0-rc.2 | 62 | 8/8/2026 |
CacheOrchestrator 2.1.0
Additive library updates: Cache:Metrics:IncludeEndpointLabel (optional route tag on OC/FC meters; default true). Local Admin GET …/cluster/info without requiring CacheOrchestrator.Bus. Stats DTOs prefer factoryShare (originShare kept as obsolete synonym). Endpoint key resolved once per request for Admin counters and metrics. Bus skips duplicate cluster/info when Local Admin already maps it.
Full notes: https://github.com/amarinsek/CacheOrchestrator/blob/main/CHANGELOG.md