Asistente de etiquetas de caché distribuida en ASP.NET Core

Por Peter Kellner

El asistente de etiquetas de caché distribuida proporciona la capacidad de mejorar drásticamente el rendimiento de la aplicación ASP.NET Core al permitir almacenar en caché su contenido en un origen de caché distribuida.

Para obtener información general sobre los asistentes de etiquetas, consulte Asistentes de etiquetas en ASP.NET Core.

El asistente de etiquetas de caché distribuida hereda de la misma clase base que el asistente de etiquetas de caché. Todos los atributos del asistente de etiquetas de caché están disponibles para el asistente de etiquetas distribuidas.

El asistente de etiquetas de caché distribuida usa la inserción de constructor. La interfaz IDistributedCache se pasa al constructor del asistente de etiquetas de caché distribuida. Si no se ha creado ninguna implementación específica de IDistributedCache en Startup.ConfigureServices (Startup.cs), el asistente de etiquetas de caché distribuida usa el mismo proveedor en memoria para almacenar datos en caché que el asistente de etiquetas de caché.

Atributos del asistente de etiquetas de caché distribuida

Atributos compartidos con el asistente de etiquetas de caché

  • enabled
  • expires-on
  • expires-after
  • expires-sliding
  • vary-by-header
  • vary-by-query
  • vary-by-route
  • vary-by-cookie
  • vary-by-user
  • vary-by
  • priority

El asistente de etiquetas de caché distribuida hereda de la misma clase que el asistente de etiquetas de caché. Para obtener descripciones de estos atributos, vea el asistente de etiquetas de caché.

name

Tipo de atributo Ejemplo
String my-distributed-cache-unique-key-101

name es obligatorio. El atributo name se usa como clave para cada instancia de caché almacenada. A diferencia del asistente de etiquetas de caché, que asigna una clave de caché a cada instancia en función del nombre de la página de Razor y la ubicación en la página de Razor, el asistente de etiquetas de caché distribuida solo basa su clave en el atributo name.

Ejemplo:

<distributed-cache name="my-distributed-cache-unique-key-101">
    Time Inside Cache Tag Helper: @DateTime.Now
</distributed-cache>

Implementaciones de IDistributedCache del asistente de etiquetas de caché distribuida

Hay dos implementaciones de IDistributedCache integradas en ASP.NET Core. Una se basa en SQL Server y la otra en Redis. También hay implementaciones de terceros disponibles, como NCache. Los detalles de estas implementaciones se pueden encontrar en Almacenamiento en caché distribuido en ASP.NET Core. Para ambas implementaciones hay que establecer una instancia de IDistributedCache en Startup.

No hay atributos de etiqueta asociados específicamente con el uso de implementaciones concretas de IDistributedCache.

Recursos adicionales