Resuelva las limitaciones de caché de ASP.NET en Web Farms con NCache

Microsoft proporciona el objeto ASP.NET Cache dentro del alcance de la aplicación de ASP.NET, lo que le permite almacenar en caché los datos de la aplicación y reducir esos costosos viajes a la base de datos y mejorar el rendimiento de ASP.NET. Así es como se usa normalmente ASP.NET Cache.

using System.Web.Caching;
...
string key = "Employee:EmployeeId:1000";
Employee employee = (Employee)Cache[key];

if (employee == null){    
  // Load Employee from DB & put it in the Cache
  LoadEmployeeFromDb(employee);
  Cache.Insert(key, employee, null, 
               Cache.NoAbsoluteExpiration, 
               Cache.NoSlidingExpiration, 
               CacheItemPriority.Default, null );
}

Limitaciones de caché de ASP.NET en granjas web

ASP.NET Cache es una caché en proceso (InProc) independiente y, por lo tanto, tiene muchas limitaciones si su aplicación se implementa en una granja web con equilibrio de carga. Estas limitaciones son:

  • Múltiples copias de caché no sincronizadas: Varias copias de su caché en jardines web o granjas web no se sincronizan entre sí porque ASP.NET Cache es independiente. Y esto plantea un problema importante de integridad de datos para su aplicación.
  • Caché perdido cuando el proceso de trabajo se recicla: Todos los datos de ASP.NET Cache se pierden cuando se recicla el proceso de trabajo. Y esto provoca un problema de rendimiento porque tiene que volver a cargar todo el caché desde la base de datos.
  • El problema del tamaño de la caché es limitado: ASP.NET Cache debe vivir dentro del límite de memoria del proceso de trabajo de ASP.NET y esto impone una restricción severa sobre qué tan grande puede ser su caché.
  • La sincronización de caché a través de DB tiene problemas: SQL CacheDependency en ASP.NET Cache le permite sincronizar el caché con la base de datos. Y algunas personas lo usan para sincronizar varias copias de caché en diferentes servidores web entre sí al revisar la base de datos. Sin embargo, esto tiene importantes problemas de rendimiento y escalabilidad porque la base de datos vuelve a estar en el centro de toda la actividad y SQL CacheDependency en sí no es muy escalable.

Caché distribuida (NCache): solución para granjas web

NCache es un caché distribuido y resuelve todas las limitaciones de ASP.NET Cache mencionadas anteriormente. Aquí es cómo NCache aborda estas limitaciones:

  • Caché sincronizado en granja web: NCache es un caché distribuida y sincroniza la memoria caché en varios servidores en una granja web. Esto significa que no hay problemas de integridad de datos con NCache.
  • Cache OutProc en el jardín web: NCache es un caché fuera de proceso, por lo que varios procesos de trabajo pueden compartir un caché común.
  • Tamaño de caché muy escalable: NCache no solo limita cualquier tipo de proceso de trabajo de ASP.NET en el tamaño de la memoria, sino que también le permite añadir más servidores de caché para aumentar la capacidad de almacenamiento. Por lo tanto, puede tener 100 GB o más de tamaño de caché fácilmente.
  • Escalas de caché para transacciones altas en granjas web: NCache es un caché distribuido y proporciona topologías de almacenamiento en caché escalables. Esto permite NCache para escalar el clúster de caché sin ningún problema.
  • El caché es altamente confiable con la replicación de datos: NCache proporciona un replicación inteligente de datos sin sacrificar ningún rendimiento. Esta replicación de datos garantiza que, incluso si un servidor de caché deja de funcionar, no se pierden datos. Esto permite que su aplicación ASP.NET almacene datos en caché sin preocuparse por la pérdida de datos.

NCache tiene ASP.NET Cache API más Más

NCache proporciona todas las funciones de ASP.NET Cache con una API más idéntica. Esto le permite migrar de ASP.NET Cache a NCache perfectamente Solo cambia el espacio de nombres de Sistema.Web.Caching a Alachisoft.NCache.Web.caching y asegúrese de que todos sus objetos almacenados en caché sean serializables.

Además, NCache proporciona numerosas funciones de almacenamiento en caché que ASP.NET Cache no tiene. Aquí está una lista parcial:

Lea más sobre todos NCache Características.

Cómo usar rápidamente NCache?

Aquí hay algunos pasos simples que puede seguir para beneficiarse rápidamente de él:

  1. Instalar NCache: en sus servidores web y dos servidores de caché
  2. crear un caché: a través de una GUI basada NCache Herramienta de administrador
  3. Caché de datos de la aplicación en NCache: Deberá hacer referencia NCache ensamblajes y luego hacer NCache Llamadas API para almacenar y obtener sus objetos .NET del caché
  4. Supervisar el rendimiento de ASP.NET: Ahora puede supervisar el rendimiento de ASP.NET y también NCache rendimiento. NCache proporciona un amplio conjunto de contadores PerfMon para que los supervise

¿Qué hacer a continuación?

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