CacheOrchestrator 3.0.0-beta.3

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

CacheOrchestrator

CacheOrchestrator is a multi-tier cache coordination and synchronized invalidation library for .NET.

This meta package is the usual starting point for web apps: it includes CacheOrchestrator.AspNetCore + CacheOrchestrator.FusionCache.

Targets .NET 8 and .NET 10.

Install

dotnet add package CacheOrchestrator --prerelease

Configuration

{
  "Cache": {
    "OutputCache": { "Provider": "InMemory" },
    "DataCacheInstances": { "default": { "Provider": "InMemory" } },
    "Domains": {
      "catalog": {
        "Version": "1",
        "DataCache": { "TtlSeconds": 300 },
        "OutputCache": { "TtlSeconds": 60 },
        "ClientCache": { "Cacheability": "Public", "TtlSeconds": 30 }
      }
    }
  }
}

Usage

builder.Services.AddCacheOrchestrator(builder.Configuration);

var app = builder.Build();
app.UseCacheOrchestrator();

app.MapGet("/api/products/{id:int}", async (HttpContext http, int id, IDomainDataCache cache) =>
{
    var data = await cache.GetOrSetAsync(http, ct => LoadProductAsync(id, ct));
    return Results.Json(data);
})
.CacheOutputWithDomain("catalog");

More layouts (Redis, Hybrid, libraries, EF): packages.md · composition how-to.

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 (1)

Showing the top 1 NuGet packages that depend on CacheOrchestrator:

Package Downloads
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.

CacheOrchestrator 3.0.0-beta.3

v3 beta.3 continues the modular package split and host integrations for early testing. Highlights: Redis leaf packages (`AspNetCore.Redis`, `FusionCache.Redis`) beside the Redis meta package; endpoint cache identity for non-GET reads; docs and playground multi-instance product store improvements.

Full notes: https://github.com/amarinsek/CacheOrchestrator/releases/tag/v3.0.0-beta.3