Tom Jones

Cache data in a .NET application with MemoryCache

Register the dependency in Main:

1builder.Services.AddMemoryCache();

Inject the service into your class constructor:

1public class MyClass(IMemoryCache memoryCache) { ... }

Set a cache value:

1memoryCache.Set("cacheKeyName", myType, new MemoryCacheEntryOptions
2{
3 SlidingExpiration = TimeSpan.FromMinutes(5), // Expire if the cache item has been inactive for 5 minutes
4});

Retrieve a cached value:

1var cached = memoryCache.TryGetValue<MyType>("cacheKeyName", out var myType);