ASP.NET Core Interview Question #178

What is caching and why is it useful?

Performance, Caching & HTTP Senior Advanced

Quick Interview Answer

Caching stores data or generated results that are expensive to retrieve or compute so later requests can reuse them. It can reduce database load, external API calls, CPU work, and response latency.

Detailed Explanation

Caching stores data or generated results that are expensive to retrieve or compute so later requests can reuse them. It can reduce database load, external API calls, CPU work, and response latency.

Caching introduces freshness and invalidation concerns. Before caching data, define how long it may be stale, how it is invalidated when data changes, and whether it is safe to share between users.

Code Example

var value = await _cache.GetOrCreateAsync(
    "featured-products",
    async entry =>
    {
        entry.AbsoluteExpirationRelativeToNow =
            TimeSpan.FromMinutes(5);
        return await _repository.GetFeaturedAsync();
    });