Intent.AspNetCore.DistributedCaching
This module enables support for distributed caching for an application through the IDistributedCache and IDistributedCacheWithUnitOfWork interfaces. A distributed cache is a cache shared by multiple app servers, typically maintained as an external service to the app servers that access it.
Settings

Provider
Used to select the implementation to be registered for IDistributedCache, at present the following options are available:
Please log on issue on our Github Support should you require a different provider.
The IDistributedCacheWithUnitOfWork interface
This interface can be used when mutations to the underlying IDistributedCache should not be persisted until the SaveAllChangesAsync() method on it is used. This would be used in cases where you only want to persist data after all other work, including persistence to a database, has been completed, for scenarios like preventing the cache being mutated prior to an attempt to save to the database which fails.
The IDistributedCacheWithUnitOfWork interface is registered as a singleton to allow it to be used by other singletons, but uses AsyncLocal<T> to allow isolation when used by different services and scopes.
IDistributedCacheWithUnitOfWork does not enable unit of work unless its EnableUnitOfWork() is used. EnableUnitOfWork() returns an IDisposable which must be used to release AsyncLocal<T> values.
The DistributedCacheExtensions class
These extension methods add convenient methods for JSON serializing into and out of DistributedCache.