El marco ASP.NET tradicional se basaba en el ASP.NET La caché, limitada a un solo servidor (InProc) y carecía de compatibilidad con entornos multiservidor, tampoco permitía la integración con cachés distribuidas de terceros. Como resultado, los desarrolladores se vieron obligados a recurrir a mecanismos de caché independientes e ineficientes.
Microsoft resolvió estos desafíos con ASP.NET Core, introduciendo el IDistributedCacheIDistributedCache, interfaz para soluciones de almacenamiento en caché escalables de múltiples servidores. NCache es fácil de integrar con IDistributedCache, que proporciona a sus aplicaciones ASP.NET Core un alto rendimiento, capa de almacenamiento en caché rica en funciones.
La interfaz IDistributedCache proporciona un mecanismo de almacenamiento en caché centralizado que funciona en varios servidores, lo que la hace ideal para aplicaciones nativas de la nube. en contenedores, y basado en microservicios arquitecturas. Si bien la interfaz estándar define el contrato, NCache Proporciona la implementación distribuida real que garantiza que los datos persistan después de los reinicios del servidor y se escalen linealmente con el tráfico.
using Microsoft.Extensions.Caching.Distributed;
using System.Threading;
using System.Threading.Tasks;
public interface IDistributedCache
{
byte[]? Get(string key);
Task<byte[]?> GetAsync(string key, CancellationToken token = default);
void Refresh(string key);
Task RefreshAsync(string key, CancellationToken token = default);
void Remove(string key);
Task RemoveAsync(string key, CancellationToken token = default);
void Set(string key, byte[] value, DistributedCacheEntryOptions options);
Task SetAsync(string key, byte[] value, DistributedCacheEntryOptions options, CancellationToken token = default);
}
Muchas soluciones de almacenamiento en caché, como Caché distribuida en memoria, están limitados a un solo servidor, lo que los hace inadecuados para aplicaciones que necesitan escalabilidad y alta disponibilidad. NCache, por otro lado, es una verdadera solución de almacenamiento en caché distribuido diseñada específicamente para aplicaciones .NET, lo que garantiza un mejor rendimiento y escalabilidad.
La integración de NCache con su aplicación ASP.NET Core es simple. Puede conectar NCache Sin modificar la lógica de la aplicación existente. Esto permite una transición fluida del almacenamiento en caché en memoria a una caché distribuida de alta disponibilidad.
Install-Package Alachisoft.NCache.DistributedCache
var builder = WebApplication.CreateBuilder(args);
// Register NCache as the IDistributedCache provider
// Benefits: Multi-server scalability, High Availability, and 100% Native .NET
builder.Services.AddNCacheDistributedCache(options =>
{
options.CacheName = builder.Configuration["NCache:CacheName"];
// NCache settings can be dynamically adjusted in appsettings.json
// ensuring zero-downtime configuration changes
});
var app = builder.Build();
app.MapControllers();
app.Run();
Alternativamente, puede configurar NCache en el configuración de aplicaciones.json archivo y cargar configuraciones dinámicamente:
{
"NCacheSettings": {
"CacheName": "myCache",
"EnableLogs": true,
"EnableStatistics": true
}
}
Esto garantiza escalabilidad, tolerancia a fallos y alta disponibilidad en entornos de producción.
El IDistributedCacheIDistributedCache La interfaz proporciona un almacén de valores clave básico, que es útil pero bastante limitado en funcionalidad. NCache va mucho más allá al ofrecer una API de almacenamiento en caché extensa y de alto rendimiento que permite un almacenamiento en caché distribuido y potente para aplicaciones empresariales.
| Elemento | Caché distribuida estándar (Básico) | NCache API (Empresa) |
|---|---|---|
| Flexibilidad de consultas | Solo búsqueda de clave-valor | Consultas SQL y LINQ |
| Organización de datos | Estructura plana | Etiquetas y etiquetas con nombre |
| Integridad de los datos | Artículos independientes | Dependencias de caché (relaciones) |
| Mensajería en tiempo real | No se admite | Mensajería de publicación/suscripción |
| Sincronización de base de datos | Se requiere codificación manual | Lectura y escritura automáticas |
| Disponibilidad de datos | Vacío al iniciar | Cargador de caché y actualización |
Mediante el uso de la NCache API: las organizaciones pueden superar las limitaciones de IDistributedCache, desbloqueando un mejor rendimiento, flexibilidad y almacenamiento en caché de nivel empresarial para sus aplicaciones .NET.
¿Listo para optimizar sus aplicaciones ASP.NET Core con almacenamiento en caché distribuido de alto rendimiento? Explore NCache y aproveche sus potentes funciones.
© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.