Cirreum.QueryCache.Distributed
1.0.16
See the version list below for details.
dotnet add package Cirreum.QueryCache.Distributed --version 1.0.16
NuGet\Install-Package Cirreum.QueryCache.Distributed -Version 1.0.16
<PackageReference Include="Cirreum.QueryCache.Distributed" Version="1.0.16" />
<PackageVersion Include="Cirreum.QueryCache.Distributed" Version="1.0.16" />
<PackageReference Include="Cirreum.QueryCache.Distributed" />
paket add Cirreum.QueryCache.Distributed --version 1.0.16
#r "nuget: Cirreum.QueryCache.Distributed, 1.0.16"
#:package Cirreum.QueryCache.Distributed@1.0.16
#addin nuget:?package=Cirreum.QueryCache.Distributed&version=1.0.16
#tool nuget:?package=Cirreum.QueryCache.Distributed&version=1.0.16
Cirreum.QueryCache.Distributed
Distributed caching adapter for Cirreum Conductor's query caching system
Overview
Cirreum.QueryCache.Distributed provides a distributed caching implementation for the Cirreum Conductor framework by adapting ASP.NET Core's IDistributedCache interface to Cirreum's ICacheableQueryService. This enables caching of CQRS query results across multiple application instances using any distributed cache provider (Redis, SQL Server, NCache, etc.).
Installation
dotnet add package Cirreum.QueryCache.Distributed
Usage
// In your Startup.cs or Program.cs
services.AddStackExchangeRedisCache(options =>
{
options.Configuration = "localhost:6379";
});
// Add Cirreum distributed query caching
services.AddDistributedQueryCaching();
The service automatically registers as a singleton implementation of ICacheableQueryService and uses the configured IDistributedCache for storage.
Configuration Options
You can optionally configure JSON serialization options:
services.AddDistributedQueryCaching(options =>
{
options.JsonSerializerOptions = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
};
});
Features
- Distributed Cache Integration: Works with any
IDistributedCacheimplementation - JSON Serialization: Configurable JSON serialization for cached objects
- Failure Expiration: Supports different cache durations for failed results
- Async Operations: Fully async with
CancellationTokensupport - Conductor Integration: Seamlessly integrates with Cirreum Conductor's caching pipeline
Limitations
- No Tag-Based Eviction: The
RemoveByTagAsyncandRemoveByTagsAsyncmethods are not supported due toIDistributedCachelimitations. These methods will throwNotSupportedException. - Requires External Cache: This package doesn't provide a distributed cache implementation. You must configure one separately (e.g., Redis, SQL Server, NCache).
Requirements
- .NET 10.0 or later
- Cirreum.Core 1.0.16 or later
- A configured
IDistributedCacheimplementation
Contribution Guidelines
Be conservative with new abstractions
The API surface must remain stable and meaningful.Limit dependency expansion
Only add foundational, version-stable dependencies.Favor additive, non-breaking changes
Breaking changes ripple through the entire ecosystem.Include thorough unit tests
All primitives and patterns should be independently testable.Document architectural decisions
Context and reasoning should be clear for future maintainers.Follow .NET conventions
Use established patterns from Microsoft.Extensions.* libraries.
Versioning
Cirreum.QueryCache.Distributed follows Semantic Versioning:
- Major - Breaking API changes
- Minor - New features, backward compatible
- Patch - Bug fixes, backward compatible
Given its foundational role, major version bumps are rare and carefully considered.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET
| 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
- Cirreum.Core (>= 1.0.33)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.1)
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.23 | 99 | 2/5/2026 |
| 1.0.22 | 87 | 1/23/2026 |
| 1.0.21 | 96 | 1/22/2026 |
| 1.0.20 | 101 | 1/21/2026 |
| 1.0.19 | 98 | 1/12/2026 |
| 1.0.18 | 99 | 1/11/2026 |
| 1.0.17 | 99 | 1/5/2026 |
| 1.0.16 | 93 | 1/5/2026 |
| 1.0.15 | 96 | 1/2/2026 |
| 1.0.14 | 97 | 1/1/2026 |
| 1.0.12 | 102 | 12/30/2025 |
| 1.0.11 | 87 | 12/29/2025 |
| 1.0.10 | 89 | 12/29/2025 |
| 1.0.9 | 101 | 12/29/2025 |
| 1.0.8 | 91 | 12/29/2025 |
| 1.0.7 | 176 | 12/22/2025 |
| 1.0.6 | 106 | 12/20/2025 |
| 1.0.5 | 271 | 12/16/2025 |
| 1.0.4 | 179 | 12/5/2025 |
| 1.0.3 | 432 | 12/1/2025 |