ASP.NET proporciona capacidades de programación que básicamente almacenan en caché la información en una aplicación ASP.NET. La funcionalidad es similar a la del objeto Aplicación, pero tiene la capacidad de mantener dinámicamente la información almacenada en caché durante toda la vida útil de ASP.NET aplicación. Almacenar en caché los datos en una aplicación puede mejorar mucho el rendimiento porque los datos son locales en el servidor y pueden recuperarse rápidamente. En lugar de tener que volver a consultar la fuente de datos original. Especialmente el mayor cuello de botella del sistema actual es la base de datos, y el uso racional de la caché puede reducir mucho acceso innecesario a bases de datos, para optimizar el rendimiento del sistema.
Los objetos de caché mejoran la capacidad de implementar notificaciones de expiración y callback basadas en relevancia que permiten acciones sobre elementos almacenados en caché por parte de otros usuarios de la aplicación de gestión o por la propia ASP.NET. Utiliza el objeto Caché para almacenar cualquier tipo (tipo de valor o tipo de aplicación) antes de actualizarlos o eliminarlos. La caché es un objeto más flexible que un objeto de aplicación. Apoya:
1. Expiración y eliminación basadas en relevancia - Los objetos de caché proporcionan la capacidad de vincular automáticamente la expiración y eliminación de valores de caché a un evento de archivo, una fecha/hora específica o relativa, u otra clave de caché.
2. Gestión automática de bloqueos - Los objetos de caché incluyen gestión interna de bloqueo, que proporciona sincronización para actualizaciones atómicas (actualizaciones que pueden colocarse en una operación de cálculo).
3. Mecanismo de callback - El objeto de caché permite configurar la función de callback para que se llame al eliminar elementos de caché.
El método de suma de caché incluye Add() o Insert(), y el método Insert puede usar parámetros opcionales para añadir la caché usando ambos parámetros por defecto:
Cache.Add(NombreClave, ValorClave, Dependencias,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Los parámetros son: nombre de la caché, objeto en caché, dependencia, tiempo absoluto de caducidad, tiempo relativo de expiración, prioridad y eventos causados por la expiración de la caché.
Dependencias de caché: se activan dependencias de archivos, otras dependencias de caché, dependencias de bases de datos y métodos de tiempo de expiración, y cuando las dependencias cambian, la caché es inválida y puede generar ciertos eventos.
1. Dependencias de archivos: dependencias de caché en archivos xml:
- <p>DataSet dsProducts = new DataSet();</p><p>//...dsProducts数y据Y</p><p>CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));</p><p>Cache.Insert("dsProducts", dsProducts, fileDepends);</p>
Copiar código
2. Otras dependencias de los elementos de caché:
- <p>object cacheData;</p><p>string[] fileDependsArray = { Server.MapPath("Northwind.xml") };</p><p>string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };</p><p>CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);</p><p>Cache.Insert("cacheName", cacheData, cacheDepends);</p>
Copiar código
3. Ajuste del tiempo de caducidad:
AbsoluteExpiration puede establecer el tiempo de caducidad absoluto de la caché, como configurarla para que expire tras 30 minutos:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Copiar código NoSlidingExpiration puede establecer un tiempo de expiración relativo; si la caché no se accede dentro del tiempo establecido por NoSlidingExpiration, si la caché expira y no se accede durante un cierto periodo de tiempo, no expirará. Si accedes a la caché en 30 minutos, no caducará:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Copiar código
|