Caché de ASP.NET Core: una descripción general

Las aplicaciones web modernas requieren un rendimiento rápido y escalabilidad. A medida que las aplicaciones crecen, las consultas frecuentes a la base de datos pueden ralentizarlas, lo que genera cuellos de botella en el rendimiento y reduce la capacidad de respuesta.

ASP.NET Core es un marco potente para crear aplicaciones web escalables, pero funciona bien cuando se combina con un Solución de almacenamiento en caché distribuido San Pancho NCacheEl almacenamiento en caché de datos a los que se accede con frecuencia reduce la carga de la base de datos, aumenta el tiempo de respuesta y mejora la escalabilidad.

Analicemos los beneficios del almacenamiento en caché distribuido, sus casos de uso en el mundo real y cómo integrarlo. NCache con aplicaciones ASP.NET Core.

 

¿Qué es el almacenamiento en caché distribuido en ASP.NET Core?

El almacenamiento en caché distribuido almacena datos utilizados con frecuencia en varios servidores, lo que lo convierte en una solución escalable y confiable. almacén de datos en memoriaEsto ayuda a reducir la latencia, minimiza las consultas a la base de datos y mejora la capacidad de respuesta de la aplicación. NCache Ofrece tiempos de respuesta de menos de un milisegundo y se ha evaluado para manejar más de 2 millones de solicitudes por segundo en un entorno agrupado.

Elemento Beneficio técnico y comercial
Rendimiento mejorado Logra tiempos de respuesta de submilisegundos al almacenar datos en caché en la memoria. reduciendo drásticamente los costosos viajes a la base de datos y la latencia de la red.
Escalabilidad lineal Maneja cargas de transacciones crecientes agregando más nodos de servidor al clúster en tiempo de ejecución, lo que garantiza un rendimiento constante para cualquier cantidad de usuarios.
Alta disponibilidad Utiliza un clúster dinámico peer to peer con capacidad de recuperación automática para garantizar un tiempo de actividad del 100 % y ningún punto único de falla, incluso durante el mantenimiento o fallas del servidor.
Fiabilidad de los datos Mantiene la integridad de los datos a través de topologías de replicación de múltiples nodos y mantiene el caché sincronizado con el back-end a través de la dependencia de la base de datos.
 

Configuración NCache para ASP.NET Core

Siga estos pasos para instalar y configurar NCache para su aplicación ASP.NET Core.

Paso 1: Instalar NCache

La instalación de NCache Server

Instale NCache Servidor en dos servidores del sitio web oficial.

La instalación de NCache SDK del cliente

Para conectar una aplicación ASP.NET Core al servidor de caché, instale el NCache SDK del cliente usando NuGet:

Install-Package Alachisoft.NCache.SDK

Asegure su configuración de red y firewall permitir la comunicación entre su aplicación y el servidor de caché.

Paso 2: Creación de una caché en clúster

A caché agrupada Mejora la escalabilidad y garantiza una alta disponibilidad al distribuir datos almacenados en caché entre múltiples servidores.

  1. Verificar red Conectividad - Asegúrese de que los nodos de caché puedan comunicarse a través de los puertos de red designados.
  2. Configurar NCache - Usar NCache Centro de gestion or PowerShell para crear una instancia de caché en clúster.
  3. Agregar nodos de caché - Agregue varios servidores para mejorar el rendimiento y la confiabilidad.
  4. Monitorear el estado de la caché - Realice un seguimiento de la sincronización y la disponibilidad de los nodos a través de NCacheHerramientas de monitorización de

Paso 3: Instalación y configuración del cliente .NET

Después de configurar NCacheConfigure su aplicación ASP.NET Core para conectarse a la caché.

Program.cs (Modificar)

using Alachisoft.NCache.Client;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<ICache>(_ => CacheManager.GetCache("demoCache"));

var app = builder.Build();
app.Run();
 

El uso de NCache en ASP.NET Core

1. Recuperación de datos de la caché

Este método recupera múltiples productos de la caché usando sus ID de producto en masa, lo que reduce la cantidad de llamadas al servidor de caché.

public Dictionary<string, Product> RetrieveProducts(List<int> productIds)
{
    List<string> cacheKeys = productIds.Select(id => $"Product:{id}").ToList();
    Dictionary<string, Product> cachedProducts = _cache.GetBulk<Product>(cacheKeys);
    return cachedProducts;
}

2. Agregar datos a la caché

Este método intenta obtener un producto de la memoria caché; si no existe, lo obtiene de la base de datos y lo agrega a la memoria caché con un tiempo de expiración.

public Product GetProduct(int productId)
{
    string cacheKey = $"Product:{productId}";
    Product product = _cache.Get<Product>(cacheKey);

    if (product == null)
    {
        product = FetchProductFromDB(productId);
        var cacheItem = new CacheItem(product)
        {
            Expiration = new Expiration(ExpirationType.Absolute, TimeSpan.FromMinutes(10))
        };
        _cache.Add(cacheKey, cacheItem);
    }
    
    return product;
}

3. Actualización/inserción de datos en la caché

Este método actualiza primero el producto en la base de datos y luego inserta o actualiza el producto almacenado en caché con una fecha de vencimiento especificada.

public void UpdateProduct(int productId, Product updatedProduct)
{
    // Update the database first
    UpdateProductInDB(productId, updatedProduct);
    
    // Update the cache after successful database update
    string cacheKey = $"Product:{productId}";
    var cacheItem = new CacheItem(updatedProduct)
    {
        Expiration = new Expiration(ExpirationType.Absolute, TimeSpan.FromMinutes(10))
    };
    _cache.Insert(cacheKey, cacheItem);
}

4. Eliminación de datos almacenados en caché

Este método elimina varias entradas de la memoria caché a la vez utilizando sus claves de caché.

public void RemoveData(List<string> keys)
{
    _cache.RemoveBulk(keys);
}
 

¿Cuáles son las funciones avanzadas de NCache?

NCache ofrece funciones de almacenamiento en caché adicionales a nivel empresarial para mejorar el rendimiento:

 

Comience con NCache Ahora Mismo!

Optimice sus aplicaciones ASP.NET Core con NCache¡Reduzca la carga de la base de datos, mejore el rendimiento y escale sin esfuerzo!

Preguntas frecuentes

NCache Mejora el rendimiento al almacenar datos de acceso frecuente en una caché distribuida en memoria. Esto reduce drásticamente la carga de la base de datos y la latencia de la red, lo que permite tiempos de respuesta inferiores a milisegundos en comparación con la recuperación de bases de datos tradicional.

A diferencia del almacenamiento en caché InProc, que está limitado a un solo servidor, NCache Proporciona una arquitectura distribuida que comparte datos entre toda la granja web. Esto elimina el punto único de fallo y permite una escalabilidad lineal a medida que crece el tráfico de la aplicación.

Sí. NCache Proporciona un proveedor de estado de sesión distribuido de alto rendimiento para ASP.NET. Garantiza que los datos de sesión permanezcan disponibles y consistentes en todos los nodos del servidor, proporcionando alta disponibilidad incluso si un servidor web falla.

NCache Incluye funciones de nivel empresarial como búsqueda tipo SQL, mensajería Pub/Sub para coordinación de eventos y dependencia de base de datos para garantizar que el caché esté siempre sincronizado con su fuente de datos de back-end.

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.