Вспомогательная функция тега распределенного кэша в ASP.NET Core

Автор: Питер Кельнер (Peter Kellner)

Вспомогательная функция тега распределенного кэша позволяет существенно повысить производительность приложения ASP.NET Core за счет кэширования его содержимого в источник распределенного кэша.

Общие сведения о вспомогательных функциях тегов см. в разделе Вспомогательные функции тегов в ASP.NET Core.

Вспомогательная функция тега распределенного кэша наследуется от того же базового класса, что и вспомогательная функция тега кэша. Все атрибуты вспомогательной функции тега кэша доступны вспомогательной функции тега распределенного кэша.

Вспомогательная функция тега распределенного кэша использует внедрение через конструктор. Интерфейс IDistributedCache передается в конструктор вспомогательной функции тега распределенного кэша. Если конкретная реализация IDistributedCache не создается в Startup.ConfigureServices (Startup.cs), помощник по тегу распределенного кэша использует тот же поставщик в памяти для хранения кэшированных данных, что и вспомогательный элемент тега кэша.

Атрибуты вспомогательной функции тега распределенного кэша

Атрибуты, используемые совместно с вспомогательной функцией тега кэша

  • 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

Вспомогательная функция тега распределенного кэша наследует от того же класса, что и вспомогательная функция тега кэша. Описание этих атрибутов см. в разделе Вспомогательная функция тега кэша.

имя

Тип атрибута Пример
Строка my-distributed-cache-unique-key-101

name является обязательным. Атрибут name используется в качестве ключа для каждого хранимого экземпляра кэша. В отличие от вспомогательного средства тега кэша, который назначает ключ кэша каждому экземпляру на Razor основе имени страницы и расположения на Razor странице, вспомогательный тег распределенного кэша использует только его ключ для атрибута name.

Пример:

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

Реализации IDistributedCache для вспомогательной функции тега распределенного кэша

В ASP.NET Core есть две встроенные реализации интерфейса IDistributedCache. Одна из них основана на SQL Server, а другая — на Redis. Также доступны сторонние реализации, такие как NCache. Подробные сведения об этих реализациях можно найти в распределенном кэшировании в ASP.NET Core. Обе реализации предусматривают задание экземпляра IDistributedCache в Startup.

Атрибуты тегов, связанные с использованием определенной реализации IDistributedCache, отсутствуют.

Дополнительные ресурсы