CacheOrchestrator 2.1.0

dotnet add package CacheOrchestrator --version 2.1.0
                    
NuGet\Install-Package CacheOrchestrator -Version 2.1.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="CacheOrchestrator" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CacheOrchestrator" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="CacheOrchestrator" />
                    
Project file
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 CacheOrchestrator --version 2.1.0
                    
#r "nuget: CacheOrchestrator, 2.1.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 CacheOrchestrator@2.1.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=CacheOrchestrator&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=CacheOrchestrator&version=2.1.0
                    
Install as a Cake Tool

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:

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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