Al desarrollar proyectos, la caché se utiliza a menudo para almacenar en caché algunos datos según sus necesidades empresariales, o para almacenar en caché el contenido de consultas de bases de datos y así reducir la presión sobre la base de datos.
Cachés de memoria más usadas: System.Runtime.Caching / MemoryCache y Microsoft.Extensions.Caching.Memory
Microsoft tiene 2 soluciones, 2 paquetes NuGet diferentes para caché, ambos son geniales, según la recomendación de Microsoft, prefiero usar Microsoft.Extensions.Caching.Memory porque se integra mejor con el núcleo de Asp .NET. Puede ser fácilmente insertado en el mecanismo de inyección de dependencias de Asp .NET Core.
Este artículo utiliza Microsoft.Extensions.Caching.Memory para almacenar en caché datos, abreviado como MSCache, y Microsoft introduce:El inicio de sesión del hipervínculo es visible.
Nota: Microsoft.Extensions.Caching.Memory es seguro para hilos
¿Qué puede hacer MSCache?
- Soporte absoluto caducado
- Soporte para expiración deslizante (especificar un tiempo, TimeSpan, pospuesto si hay un tiempo en caché dentro del tiempo especificado, de lo contrario expirará)
- Callback caducado
- Caducidad personalizada
Configuración de caché MemoryCacheEntryOptions
- AbsoluteExpirationTiempo absoluto de caducidad, si es nulo, la condición es inválida
- AbsoluteExpirationRelativeToNowEl tiempo absoluto de caducidad relativo al tiempo actual (usando TimeSpan) es condición nula inválida
- DeslizamientoExpiraciónDesliza el tiempo de caducidad
- ExpirationTokensDisponible para personalizar la expiración de la caché
- Llamadas posteriores a la expulsiónDevoluciones de llamada de invalidación de caché
- PrioridadPrioridad de objetos de caché (el orden en que se limpia absolutamente la caché cuando está llena)
- TamañoRepresenta el tamaño de los datos almacenados en caché, que generalmente son nulos en la caché en memoria
Empieza con MSCache
Proyecto ASP.NET Núcleo MVC Instalación de Mando Nuget:
Cuando uses, haz paquetes sencillos.
Interfaz:
Implementación:
Configuración de inyección de dependencias singleton
Las pruebas utilizan MSCache
Escribe datos usando expiración relativa y expiración deslizante y realiza una prueba de lectura con el código de la siguiente manera.
Código del controlador:
Escribe datos en caché:
Leer datos en caché:
Acceso:El inicio de sesión del hipervínculo es visible.Después de establecer la expiración relativa y la expiración deslizante, accede a: https://localhost:44370/Home/Get Obtén los datos almacenados en caché de la siguiente manera:
En 30 segundos, visité el enlace para leer la caché varias veces y descubrí que la caducidad absoluta expiraba completamente tras 30 segundos, pero aún podía leerla tras deslizar la caducidad, como se muestra en la figura de abajo:
(Fin)
|