.NET 9 HybridCache

n .NET 9, Microsoft introduces HybridCache, a caching system that combines the speed of in-memory caching with the scalability of distributed caches.his dual-layer approach ensures rapid data retrieval while maintaining data consistency across distributed environments. Key Features of HybridCache: Layered Caching: ntegrates both in-memory (L1) and distributed (L2) caches to optimize performance and scalability. Automatic Synchronization: nsures data consistency between cache layers, reducing the risk of stale data. Flexible Configuration: llows developers to customize caching strategies based on application needs. Implementing HybridCache in Your Application: Install the NuGet Package: dotnet add package Microsoft.Extensions.Caching.Hybrid --version 9.1.0-preview.1.25064.3 Configure Services: builder.Services.AddHybridCache(options => { // Maximum size of cached items options.MaximumPayloadBytes = 1024 * 1024 * 2; // 2MB options.MaximumKeyLength = 256; // Default timeouts options.DefaultEntryOptions = new HybridCacheEntryOptions { Expiration = TimeSpan.FromMinutes(45), LocalCacheExpiration = TimeSpan.FromMinutes(45) }; }); Inject and Use: public sealed class LocalCacheBookRepository: ICacheBookRepository { private readonly IHybridCache _cache; public LocalCacheBookRepository(IHybridCache cache) { _cache = cache; } public async Task GetBooksAsync(Func sourceOfTruth) { var books = await _cache.GetOrCreateAsync( $"books-{combineKey}", async token => await sourceOfTruth(), cancellationToken: ct ); return books; } } by leveraging HybridCache, developers can achieve high-performance data retrieval while ensuring scalability and consistency across distributed systems.his makes it a valuable addition to any ASP.NET Core application aiming for efficient caching mechanisms. For a more in-depth exploration and advanced configurations, read the full article here: https://medium.com/@FitoMAD/net-9-hybridcache-5c0b4137f70d

Feb 5, 2025 - 12:03
 0
.NET 9 HybridCache

n .NET 9, Microsoft introduces HybridCache, a caching system that combines the speed of in-memory caching with the scalability of distributed caches.his dual-layer approach ensures rapid data retrieval while maintaining data consistency across distributed environments.

Key Features of HybridCache:

  • Layered Caching: ntegrates both in-memory (L1) and distributed (L2) caches to optimize performance and scalability.
  • Automatic Synchronization: nsures data consistency between cache layers, reducing the risk of stale data.
  • Flexible Configuration: llows developers to customize caching strategies based on application needs.

Implementing HybridCache in Your Application:

  • Install the NuGet Package:
dotnet add package Microsoft.Extensions.Caching.Hybrid --version 9.1.0-preview.1.25064.3
  • Configure Services:
builder.Services.AddHybridCache(options =>
{
    // Maximum size of cached items
    options.MaximumPayloadBytes = 1024 * 1024 * 2; // 2MB
    options.MaximumKeyLength = 256;

    // Default timeouts
    options.DefaultEntryOptions = new HybridCacheEntryOptions
    {
        Expiration = TimeSpan.FromMinutes(45),
        LocalCacheExpiration = TimeSpan.FromMinutes(45)
    };
});
  • Inject and Use:
public sealed class LocalCacheBookRepository: ICacheBookRepository
{
    private readonly IHybridCache _cache;

    public LocalCacheBookRepository(IHybridCache cache)
    {
        _cache = cache;
    }

    public async Task> GetBooksAsync(Func>> sourceOfTruth)
    {
        var books = await _cache.GetOrCreateAsync(
            $"books-{combineKey}",
            async token => await sourceOfTruth(),
            cancellationToken: ct
        );

        return books;
    }
}

by leveraging HybridCache, developers can achieve high-performance data retrieval while ensuring scalability and consistency across distributed systems.his makes it a valuable addition to any ASP.NET Core application aiming for efficient caching mechanisms.

For a more in-depth exploration and advanced configurations, read the full article here: https://medium.com/@FitoMAD/net-9-hybridcache-5c0b4137f70d