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.
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. |
Siga estos pasos para instalar y configurar NCache para su aplicación ASP.NET Core.
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é.
A caché agrupada Mejora la escalabilidad y garantiza una alta disponibilidad al distribuir datos almacenados en caché entre múltiples servidores.
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();
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;
}
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;
}
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);
}
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);
}
NCache ofrece funciones de almacenamiento en caché adicionales a nivel empresarial para mejorar el rendimiento:
Optimice sus aplicaciones ASP.NET Core con NCache¡Reduzca la carga de la base de datos, mejore el rendimiento y escale sin esfuerzo!
© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.