CoreSystem.Cache 1.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package CoreSystem.Cache --version 1.2.0
                    
NuGet\Install-Package CoreSystem.Cache -Version 1.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="CoreSystem.Cache" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CoreSystem.Cache" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="CoreSystem.Cache" />
                    
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 CoreSystem.Cache --version 1.2.0
                    
#r "nuget: CoreSystem.Cache, 1.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 CoreSystem.Cache@1.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=CoreSystem.Cache&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=CoreSystem.Cache&version=1.2.0
                    
Install as a Cake Tool

⚡ CoreSystem.Cache

Production-ready distributed caching framework for .NET 8

CoreSystem.Cache extends the standard .NET caching abstractions with a production-ready execution pipeline, automatic Redis fallback, cache rehydration, HTTP response caching, OpenTelemetry metrics, health checks, and tag-based invalidation.

NuGet Downloads License .NET


✨ Features

  • ✅ Memory and Redis providers
  • ✅ Cache-Aside (GetOrAddAsync)
  • ✅ Tag-based invalidation
  • ✅ Automatic Redis → Memory fallback
  • ✅ Automatic cache rehydration
  • ✅ HTTP response caching
  • ✅ OpenTelemetry metrics
  • ✅ ASP.NET Core Health Checks
  • ✅ Polly resilience integration
  • ✅ JSON, MessagePack and Protocol Buffers serialization

📦 Installation

dotnet add package CoreSystem.Cache

🚀 Quick Start

Register the framework:

builder.Services.AddCoreCache(options =>
{
    options.Redis.Configuration = redis =>
    {
        redis.EndPoints.Add("localhost:6379");
    };
});

Inject the cache service:

public sealed class ProductService(ICoreCache cache)
{
}

Store data:

await cache.SetAsync(
    "products:1",
    product,
    TimeSpan.FromMinutes(10));

Retrieve data:

var product = await cache.GetAsync<Product>("products:1");

Recommended Cache-Aside pattern:

var product = await cache.GetOrAddAsync(
    $"products:{id}",
    async ct => await repository.GetByIdAsync(id, ct),
    expiration: TimeSpan.FromMinutes(10),
    tags: ["products"]);

🌐 HTTP Response Caching

Enable the middleware:

app.UseCoreCache();

Decorate your endpoint:

[Cacheable(expirationSeconds:300)]
public async Task<IActionResult> Get(Guid id)
{
    return Ok(await service.GetAsync(id));
}

📊 Why CoreSystem.Cache?

Capability IDistributedCache CoreSystem.Cache


Redis ✅ ✅ Memory Provider ❌ ✅ Cache-Aside ❌ ✅ Tag Invalidation ❌ ✅ Automatic Fallback ❌ ✅ Cache Rehydration ❌ ✅ HTTP Response Caching ❌ ✅ OpenTelemetry Metrics ❌ ✅ Health Checks ❌ ✅


🏗 Architecture

Application
      │
      ▼
 ICoreCache
      │
      ▼
 CachePipeline
      │
      ├── Logging
      ├── Metrics
      ├── Fallback
      └── Resilience
      │
      ▼
 Cache Storage
      ├── Redis
      └── Memory

📚 Documentation

The full documentation includes:

  • Getting Started
  • Architecture
  • Configuration
  • Basic Usage
  • HTTP Response Caching
  • Observability
  • Health Checks
  • Extensibility
  • Roadmap

Visit the GitHub repository for the complete documentation.


🤝 Contributing

Issues, discussions and pull requests are welcome.


📄 License

Released under the MIT License.

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 was computed.  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 (2)

Showing the top 2 NuGet packages that depend on CoreSystem.Cache:

Package Downloads
CoreSystem.Cache.Rehydration

Cache recovery component for CoreSystem.Cache on .NET 8 that restores tracked memory fallback entries to the primary cache provider after recovery.

CoreSystem.Cache.Redis

Redis external cache provider for CoreSystem.Cache on .NET 8, with tag-based invalidation, distributed locking, health checks, and optional resilience integration.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 129 8/16/2026
1.2.0 144 8/5/2026
1.1.0 147 7/12/2026
1.0.1 122 7/6/2026
1.0.0 121 7/5/2026