utilizando Microsoft.AspNetCore.Mvc; utilizando ZiggyCreatures.Caching.Fusion; espacio de nombres FusionCacheExample.Controllers {
[Route(«api/[controller]»)]
[ApiController]
clase pública ProductController: ControllerBase { privada de solo lectura IProductRepository _productRepository; privada de solo lectura IFusionCache _fusionCache; pública ProductController(IFusionCache fusionCache, IProductRepository productRepository) { _fusionCache = fusionCache; _productRepository = productRepository; }
[HttpGet(«{productId}»)]
Compatibilidad con actualización entusiasta en FusionCache FusionCache incluye una excelente característica llamada actualización entusiasta que puede ayudarlo a mantener su caché actualizado con los datos más recientes y, al mismo tiempo, garantizar la capacidad de respuesta. Cuando habilita esta característica, puede especificar una duración personalizada para sus datos almacenados en caché y también un umbral de porcentaje, como se muestra en el fragmento de código a continuación. opciones => opciones.SetDuration(TimeSpan.FromMinutes(1)) opciones => opciones.SetEagerRefresh(0.5f) Observe cómo la duración de la memoria caché se ha establecido en 1 minuto, mientras que el umbral de actualización ansiosa se establece en el 50 % de la duración de la memoria caché. Cuando llega una nueva solicitud y sus datos almacenados en caché son más antiguos que el 50 % de la duración de la memoria caché (es decir, después de 31 segundos), FusionCache devolverá los datos almacenados en caché y luego actualizará la memoria caché en segundo plano para garantizar que la memoria caché esté actualizada.