IDistributedCacheIDistributedCache Proveedor para ASP.NET Core

Mejore sus aplicaciones ASP.NET

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.

 

¿Qué es IDistributedCache?

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);
}
 

¿Por qué elegir a NCache ¿para IDistributedCache?

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.

Beneficios clave de NCache

  • 100% nativo .NET - Totalmente compatible y optimizado para Aplicaciones .NET.
  • Alto rendimiento y escalabilidad - Permite la recuperación rápida de datos y admite una escalabilidad horizontal perfecta.
  • Funciones avanzadas de almacenamiento en caché - Admite consultas SQL, mensajería de publicación/suscripción y sincronización de caché.
  • Alta disponibilidad y confiabilidad - Garantiza la coherencia de los datos con soporte de conmutación por error integrado.
  • Serialización optimizada - Reduce la latencia y mejora el rendimiento mediante una serialización eficiente.

Sin costura NCache Integración con IDistributedCache

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.

 

Configurar NCache como su proveedor de IDistributedCache

  • Paso 1: Instalar el paquete NuGet Ejecute el siguiente comando en la consola del Administrador de paquetes para instalar el proveedor IDistributedCache.
    Install-Package Alachisoft.NCache.DistributedCache
  • Paso 2: Registrarse NCache in Program.cs Registrarse NCache en el archivo de inicio de la aplicación ASP.NET Core, como se muestra a continuación:
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.

 

NCache API: Mucho más completa que IDistributedCache

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
 

Ventajas Clave del NCache API

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.

 

Comience con NCache Ahora Mismo!

¿Listo para optimizar sus aplicaciones ASP.NET Core con almacenamiento en caché distribuido de alto rendimiento? Explore NCache y aproveche sus potentes funciones.

Preguntas frecuentes

No. Desde entonces NCache Implementa la interfaz estándar IDistributedCache; solo necesita cambiar la configuración en Program.cs. No requiere cambios en la lógica de negocio.

NCache Almacena datos en memoria (RAM), lo cual es significativamente más rápido que el almacenamiento en disco de SQL Server. Además, elimina la sobrecarga de serialización y la latencia de red asociadas con el almacenamiento en caché basado en SQL.

Sí. Puedes seguir usando métodos estándar como SetAsync, GetAsync y RemoveAsync. Sin embargo, NCache También le permite convertir la instancia de caché a ICache para desbloquear funciones avanzadas como etiquetas y consultas SQL.

Contáctenos

TELÉFONO

+1 214-619-2601 (EE.UU.)

+44 20 7993 8327 (Reino Unido)

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.