๐ Documentation
January 12, 2026 ยท View on GitHub

๐ Documentation
Sometimes topics can be explained a little bit more, and the following docs can help you with that.
๐ฆ A Gentle Introduction
Make yourself comfortable with FusionCache.
๐ฉโ๐ซ Step By Step
A complete step by step example of why a cache is useful, why FusionCache could be even more so, how to apply most of the options available and what results you can expect to obtain.
๐ Comparison
A feature comparison between existing .NET caching solutions, to help you choose which one to use.
๐งฌ Diagrams
Sometimes it's nice to be able to visualize the internal flow of a system, even more so for such a complex beast as an hybrid cache like FusionCache.
So, diagrams!
๐๏ธ Options
How global and entry options work in FusionCache, how to use them better and things to know.
โ๏ธ Features
FusionCache has a lot of features, let's see them grouped together:
Resiliency
- ๐ก๏ธ Cache Stampede: automatic protection, both local (single node) and distributed (multiple nodes)
- ๐ฃ Fail-Safe: a mechanism to avoids transient failures, by reusing an expired entry as a temporary fallback
- โฉ๏ธ Auto-Recovery: self-healing for the entire cache, all automatically
Performance & Scalability
- ๐ L1+L2: any implementation of
IDistributedCachecan be used as an optional 2nd level, all transparently - ๐ข Backplane: in a multi-node scenario, it can notify the other nodes about changes in the cache, so all will be in-sync
- โฑ Soft/Hard Timeouts: a slow factory (or distributed cache) will not slow down your application, and no data will be wasted
- ๐ฆ Eager Refresh: start a non-blocking background refresh before the expiration occurs
- ๐ Conditional Refresh: like HTTP Conditional Requests, but for caching
- ๐ Background Distributed Operations: distributed operations can easily be executed in the background, safely, for better performance
Flexibility
- ๐ Named Caches: easily work with multiple named caches, even if differently configured
- ๐ท๏ธ Tagging: tags can be associated to entries, to later expire them all at once
- ๐งผ Clear: clear an entire cache, even with shared L2, cache key prefix, etc
- โ๏ธ Microsoft HybridCache: can be used as an implementation of the new HybridCache abstraction from Microsoft, all while adding extra features
- ๐งโโ๏ธ Adaptive Caching: for when you don't know upfront the entry options (eg:
Duration), since they depends on the value being cached itself - ๐ Dependency Injection + Builder: native support for Dependency Injection, with a nice fluent interface including a Builder support
- โ Auto-Clone: be sure that cached values returned can be safely modified
- ๐ซ Fully sync/async: native support for both the synchronous and asynchronous programming model
- ๐งฉ Plugins: extend FusionCache with additional behavior like adding support for metrics, statistics, etc...
Observability
- ๐ญ OpenTelemetry: native observability support via OpenTelemetry
- ๐ Logging: comprehensive, structured and customizable, via the standard
ILoggerinterface - ๐ Events: a comprehensive set of events, both at a high level and at lower levels (memory/distributed)
โ๏ธ Microsoft HybridCache
We've probably all heard about the new kid on the block introduced by Microsoft with .NET 9: HybridCache.
So what does it mean for FusionCache? Does one replace the other? Or can they somehow work together?
It's pretty cool actually, so let's find out!