Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
El almacenamiento en caché es una técnica fundamental en el desarrollo de software para mejorar el rendimiento almacenando los datos a los que se accede con más frecuencia en la memoria o en un medio de almacenamiento más rápido. En C#,LazyCache es una popular biblioteca que simplifica la implementación de cachés seguras para subprocesos, facilitando a los desarrolladores el aprovechamiento eficaz de la caché en sus aplicaciones para escenarios de carga pesada.
**¿Qué es LazyCache?
LazyCache es una biblioteca de proveedores de caché subyacente para aplicaciones .NET/ ASP.NET Core que proporciona una API sencilla e intuitiva para almacenar datos en caché. Está disponible como paquete NuGet y puede integrarse fácilmente en proyectos de C#. El objetivo principal de LazyCache es simplificar la implementación de la caché y reducir el código repetitivo necesario para gestionar la información almacenada en caché utilizando un patrón de caché de doble bloqueo.
Características principales de LazyCache:
API sencilla: LazyCache proporciona una API sencilla para añadir, recuperar y eliminar elementos de la caché. Los desarrolladores pueden integrar rápidamente el almacenamiento en caché en sus aplicaciones o llamadas a servicios web sin tener que lidiar con complejos mecanismos de almacenamiento en caché.
Expiración automática: LazyCache admite la expiración automática de los elementos almacenados en caché basándose en políticas de expiración configurables. Los desarrolladores pueden especificar la duración de la caducidad de los elementos almacenados en caché, y LazyCache elimina los elementos caducados de los datos de la caché.
Almacenamiento en memoria: LazyCache almacena por defecto los elementos almacenados en memoria, lo que lo hace adecuado para situaciones en las que se requiere un acceso rápido a los datos almacenados. La caché en memoria garantiza una baja latencia y un alto rendimiento en el acceso a los datos almacenados.
Operaciones seguras: LazyCache proporciona operaciones seguras para añadir, recuperar y eliminar elementos de la caché. Esto garantiza que varios subprocesos puedan acceder simultáneamente a la caché sin riesgo de corrupción o incoherencia de los datos.
Extensibilidad: LazyCache está diseñado para ser extensible, permitiendo a los desarrolladores personalizar el comportamiento de la caché de acuerdo a sus necesidades específicas. Proporciona ganchos para implementar estrategias de almacenamiento en caché personalizadas, como el almacenamiento en caché distribuido o el almacenamiento en caché con persistencia.
Cómo usar LazyCache en C#:
Utilizar LazyCache en C# es muy sencillo gracias a su intuitiva API. A continuación se muestra un ejemplo básico que demuestra cómo utilizar LazyCache para almacenar en caché el resultado de una llamada a un método:
using LazyCache;
public class DataService
{
// private readonly IAppCache cache
private readonly IAppCache _cache;
public DataService(IAppCache cache)
{
_cache = cache;
}
public string GetData()
{
return _cache.GetOrAdd("dataKey", () =>
{
// Simulate expensive operation such as database calls
return FetchDataFromDatabase();
});
}
private string FetchDataFromDatabase()
{
// Simulate fetching data from a database
return "Cached Data";
}
}
using LazyCache;
public class DataService
{
// private readonly IAppCache cache
private readonly IAppCache _cache;
public DataService(IAppCache cache)
{
_cache = cache;
}
public string GetData()
{
return _cache.GetOrAdd("dataKey", () =>
{
// Simulate expensive operation such as database calls
return FetchDataFromDatabase();
});
}
private string FetchDataFromDatabase()
{
// Simulate fetching data from a database
return "Cached Data";
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
En este ejemplo, la clase DataService utiliza LazyCache para almacenar en caché el resultado de la operación GetData() método. La función GetOrAdd() recupera los datos en caché asociados a la clave especificada("dataKey") si existe. Si los datos no se almacenan en caché, el delegado proporcionado(FetchDataFromDatabase()) se ejecuta para obtener los datos, que luego se almacenan en caché para su uso futuro.
IronPDF es una potente biblioteca PDF en C# que permite generar, editar y extraer contenido de documentos PDF en proyectos .NET. Estas son algunas de sus principales características:
Conversión de HTML a PDF:
Convierte contenidos HTML, CSS y JavaScript a formato PDF.
Utiliza el motor de renderizado de Chrome para obtener PDF perfectos.
Conversión de imágenes y contenidos:
Convierte imágenes a y desde PDF.
Extraiga texto e imágenes de PDF existentes.
Edición y manipulación:
Establezca las propiedades, la seguridad y los permisos de los archivos PDF.
Añade firmas digitales.
Soporte multiplataforma:
Funciona con .NET Core(8, 7, 6, 5 y 3.1+.).NET Standard(2.0+)y .NET Framework(4.6.2+).
Compatible con Windows, Linux y macOS.
Para empezar, cree una aplicación de consola utilizando Visual Studio como se indica a continuación.
Proporcione el nombre del proyecto.
Proporcione la versión .NET.
Instale el paquete IronPDF.
Instala el paquete LazyCache para añadir llamadas a métodos en caché.
using LazyCache;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodeSample
{
internal class LazyCacheDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo LazyCache and IronPDF</h1>";
content += "<h2>Create CachingService</h2>";
// Create the cache service using caching logic
IAppCache cache = new CachingService();
content += "<p>IAppCache cache = new CachingService();</p>";
var cacheKey = "uniqueKey";
content += "<p>string cachedValue = cache.GetOrAdd(cacheKey, expensiveMethod);</p>";
// Define a factory method to generate the cacheable data
Func<string> expensiveLongRunMethod = () => {
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeLazyCacheAndIronPdf.pdf");
return content;
};
// Get the cached value or add it if it doesn't exist
string cachedValue = cache.GetOrAdd(cacheKey, expensiveLongRunMethod);
Console.WriteLine(cachedValue);
}
}
}
using LazyCache;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodeSample
{
internal class LazyCacheDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo LazyCache and IronPDF</h1>";
content += "<h2>Create CachingService</h2>";
// Create the cache service using caching logic
IAppCache cache = new CachingService();
content += "<p>IAppCache cache = new CachingService();</p>";
var cacheKey = "uniqueKey";
content += "<p>string cachedValue = cache.GetOrAdd(cacheKey, expensiveMethod);</p>";
// Define a factory method to generate the cacheable data
Func<string> expensiveLongRunMethod = () => {
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeLazyCacheAndIronPdf.pdf");
return content;
};
// Get the cached value or add it if it doesn't exist
string cachedValue = cache.GetOrAdd(cacheKey, expensiveLongRunMethod);
Console.WriteLine(cachedValue);
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
El paquete IronPDF requiere una licencia para ejecutar y generar el PDF. Añada el siguiente código al inicio de la aplicación antes de acceder al paquete.
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Hay disponible una licencia de pruebaen la página de licencias de prueba de IronPDF.
LazyCache simplifica la implementación del almacenamiento en caché en aplicaciones C# al proporcionar una API sencilla y la caducidad automática de los elementos almacenados en caché. Al integrar LazyCache en sus proyectos, puede mejorar el rendimiento almacenando en caché de forma eficiente los datos a los que se accede con frecuencia, reduciendo la latencia y optimizando la utilización de recursos de forma atómica y ordenada. Tanto si está creando aplicaciones web, APIs o servicios, LazyCache puede ser una valiosa herramienta para mejorar el rendimiento y la escalabilidad de sus aplicaciones C#.
Por otro lado, IronPDF destaca como una biblioteca C# potente y versátil para manejar documentos PDF dentro de aplicaciones .NET. Sus potentes funciones abarcan la creación, edición, conversión de HTML a PDF y manipulación de PDF mediante programación. Con funciones para la gestión segura de documentos mediante cifrado y firmas digitales, IronPDF permite a los desarrolladores gestionar y personalizar eficazmente los flujos de trabajo de PDF, lo que lo convierte en una valiosa herramienta para una amplia gama de tareas de gestión y generación de documentos en el desarrollo en C#.
9 productos API .NET para sus documentos de oficina