API returns same data for 10 minutes. Still hitting database every request.
// Program.cs
builder.Services.AddResponseCaching();
var app = builder.Build();
app.UseResponseCaching();
// Controller
[ResponseCache(Duration = 600)] // 10 minutes
public IActionResult GetProducts()
{
return Ok(_db.Products.ToList());
}
Headers: Sets Cache-Control headers automatically. Browser + server cache.
Vary: Cache different responses per user: VaryByHeader = "Authorization"
Disable: [ResponseCache(NoStore = true)] for dynamic data.
