Kck.Caching.Abstractions 3.4.0

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

Kck.Caching.Abstractions

Storage-agnostic caching abstractions with stampede-safe ICacheService.GetOrSetAsync and prefix-based bulk invalidation.

Installation

dotnet add package Kck.Caching.Abstractions

Quick Start

// Program.cs — register a concrete provider (e.g. Kck.Caching.InMemory or Kck.Caching.Redis)
builder.Services.AddKckInMemoryCache();
// or: builder.Services.AddKckRedisCache(builder.Configuration);

// Use ICacheService in a service/handler
public class ProductService(ICacheService cache)
{
    public async Task<Product?> GetProductAsync(int id, CancellationToken ct)
    {
        // Fetches from cache; on miss calls the factory and stores the result
        return await cache.GetOrSetAsync(
            key: $"product:{id}",
            factory: async () => await _db.Products.FindAsync(id, ct),
            ttl: TimeSpan.FromMinutes(10),
            ct: ct);
    }

    public async Task InvalidateCategoryAsync(int categoryId, CancellationToken ct)
    {
        // Remove all keys sharing the "category:{categoryId}" prefix
        await cache.RemoveByPrefixAsync($"category:{categoryId}", ct);
    }
}

Configuration

Property Description Default
Caching:DefaultTtlSeconds Default TTL when none is specified 300
Caching:KeyPrefix Global key prefix (useful for multi-tenant) ""

Resources

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

    • No dependencies.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on Kck.Caching.Abstractions:

Package Downloads
Kck.Caching.InMemory

IMemoryCache-backed ICacheService implementation with key tracking and stampede-safe GetOrSetAsync (64-stripe locking). Suitable for single-instance deployments. Registered via AddKckCachingInMemory().

Kck.Bundle.WebApi

Opinionated ASP.NET Core WebAPI starter pack. Registers Serilog, in-memory caching, JWT auth, Argon2 hashing, InMemory event bus, OpenTelemetry, rate limiting, security headers, CORS, and global exception handling in a single AddKckWebApiDefaults() call.

Kck.Bundle.MinimalApi

Lightweight ASP.NET Core Minimal API starter pack. Slim variant of the WebAPI bundle — provides Serilog, in-memory caching, JWT, exception handling, and health checks without MediatR pipeline or Argon2 overhead.

Kck.Caching.Redis

StackExchange.Redis-backed ICacheService for distributed caching. Supports key-prefix namespacing, O(1) EXISTS checks, and chunked 1000-key prefix-delete operations. Registered via AddKckCachingRedis() with connection string or ConfigurationOptions.

Kck.Caching.Hybrid

Two-tier ICacheService implementation backed by Microsoft.Extensions.Caching.Hybrid. Combines L1 in-process memory (fast) and L2 Redis (distributed) caching. SetAsync writes to both layers; RemoveAsync evicts from both. Registered via AddKckCachingHybrid().

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.4.0 149 5/17/2026
3.3.0 140 5/17/2026
3.2.0 139 5/17/2026
3.1.0 137 5/17/2026
3.0.0 143 5/17/2026
2.0.0 141 5/7/2026