Microsoft.Extensions.Caching.Hybrid 9.0.0-preview.9.24507.7

Microsoft.Extensions.Caching.Hybrid

This package contains a concrete implementation of the HybridCache API, simplifying and enhancing cache usage that might previously have been built on top of IDistributedCache.

Key features:

  • built on top of IDistributedCache - all existing cache backends (Redis, SQL Server, CosmosDB, etc) should work immediately
  • simple API (all the cache, serialization, etc details from are encapsulated)
  • cache-stampede protection (combining of concurrent requests for the same data)
  • performance enhancements such as inbuilt support for the newer IBufferDistributedCache API
  • fully configurable serialization

Full HybridCache documentation is here.

Full documentation

See learn.microsoft.com for full discussion of HybridCache.

Install the package

From the command-line:

dotnet add package Microsoft.Extensions.Caching.Hybrid

Or directly in the C# project file:

<ItemGroup>
  <PackageReference Include="Microsoft.Extensions.Caching.Hybrid" Version="[CURRENTVERSION]" />
</ItemGroup>

Usage example

The HybridCache service can be registered and configured via IServiceCollection, for example:

builder.Services.AddHybridCache(/* optional configuration /*);

Note that in many cases you may also wish to register a distributed cache backend, as discussed here; for example a Redis instance:

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = builder.Configuration.GetConnectionString("MyRedisConStr");
});

Once registered, the HybridCache instance can be obtained via dependency-injection, allowing the GetOrCreateAsync API to be used to obtain data:

public class SomeService(HybridCache cache)
{
    private HybridCache _cache = cache;

    public async Task<SomeDataType> GetSomeInfoAsync(string name, int id, CancellationToken token = default)
    {
        return await _cache.GetOrCreateAsync(
            $"{name}-{id}", // Unique key to the cache entry
            async cancel => await GetDataFromTheSourceAsync(name, id, cancel),
            cancellationToken: token
        );
    }

    private async Task<SomeDataType> GetDataFromTheSourceAsync(string name, int id, CancellationToken token)
    {
        // talk to the underlying data store here - could be SQL, gRPC, HTTP, etc
    }
}

Additional usage guidance - including expiration, custom serialization support, and alternate usage to reduce delegate allocation - is available on learn.microsoft.com.

Showing the top 20 packages that depend on Microsoft.Extensions.Caching.Hybrid.

Packages Downloads
Microsoft.Extensions.Caching.SqlServer
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Microsoft SQL Server. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/8af96e042134fb3b2f21df26dd0f32ea1c00dd37
11
Microsoft.Extensions.Caching.SqlServer
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Microsoft SQL Server. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/ada5ad97d2114250a05550cb28cc18b9cf9f8993
14
Microsoft.Extensions.Caching.SqlServer
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Microsoft SQL Server. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/f5084525411d53b81d9950b68616117750b674d4
12
Microsoft.Extensions.Caching.StackExchangeRedis
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Redis. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/8af96e042134fb3b2f21df26dd0f32ea1c00dd37
12
Microsoft.Extensions.Caching.StackExchangeRedis
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Redis. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/ada5ad97d2114250a05550cb28cc18b9cf9f8993
16
Microsoft.Extensions.Caching.StackExchangeRedis
Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Redis. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/f5084525411d53b81d9950b68616117750b674d4
16
Volo.Abp.Caching
Package Description
8
Volo.Abp.Caching
Package Description
9
Volo.Abp.Caching
Package Description
10
Volo.Abp.Caching
Package Description
12
Volo.Abp.Caching
Package Description
13
Volo.Abp.Caching
Package Description
14
Volo.Abp.Caching
Package Description
16
Volo.Abp.Caching
Package Description
18

.NET Framework 4.6.2

.NET Standard 2.1

.NET Standard 2.0

.NET 9.0

.NET 8.0

Version Downloads Last updated
9.6.0 1 06/12/2025
9.5.0 2 05/15/2025
9.4.0 9 04/10/2025
9.3.0 7 03/16/2025
9.2.0-preview.1.25105.6 8 03/16/2025
9.1.0-preview.1.25064.3 12 01/23/2025
9.0.0-preview.9.24556.5 12 11/17/2024
9.0.0-preview.9.24507.7 13 12/02/2024
9.0.0-preview.7.24406.2 11 12/07/2024
9.0.0-preview.6.24328.4 14 12/04/2024
9.0.0-preview.5.24306.11 16 12/04/2024
9.0.0-preview.4.24267.6 17 05/31/2024