Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 23864|Respuesta: 1

[.NET Core] ASP.NET Tutorial de uso de la caché de memoria principal MVC

[Copiar enlace]
Publicado el 12-11-2019 16:16:36 | | | |
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)





Anterior:[Ventanas] XMind 8 Edición Portátil Ecológica de Autouso Con Resolución de Cracks
Próximo:La hora de FechaHora en .Net Core es inconsistente con la hora de Windows en Linux Docker
 Propietario| Publicado el 10-7-2024 18:13:17 |
ASP.NET Core 8 añade directamente: constructor. Services.AddMemoryCache();
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com