Обзор кэширования Stack Exchange® Redis*
При использовании .NET.NET Aspireсуществует несколько способов использования кэширования в приложениях. Одним из популярных вариантов является использование Stack Exchange Redis, что является высокопроизводительной хранилищем данных, которое можно использовать для хранения часто доступных данных. В этой статье представлен обзор кэширования Redis для Stack Exchange и ссылки на ресурсы, которые помогают использовать его в ваших приложениях.
Чтобы использовать несколько интеграций кэширования Redis в вашем приложении, см. Руководство: Реализация кэширования с помощью интеграций .NET.NET Aspire. Если вы хотите использовать кэш Redis для Azure, ознакомьтесь с руководством по . Развертывание проекта .NET Aspire с помощью кэша Redis для Azure.
протокол сериализации Redis (RESP)
Протокол сериализации Redis (RESP) — это двоичный безопасный протокол, который Redis используется для взаимодействия с клиентами. RESP — это простой текстовый протокол, который легко реализовать и эффективно анализировать. RESP используется для отправки команд в Redis и получения ответов от Redis. RESP предназначен для быстрого и эффективного использования, что хорошо подходит для использования в высокопроизводительных приложениях. Дополнительные сведения см. в Redis спецификации протокола сериализации.
Помимо самого Redis существует две хорошо поддерживаемые реализации RESP для .NET:
- Гарнет. Гарнет — это удаленное хранилище кэша из Microsoft Research, которое обеспечивает высокую производительность (пропускную способность и задержку), масштабируемость, хранилище, восстановление, сегментирование кластера, миграцию ключей и функции репликации. Гарнет может работать с существующими клиентами Redis.
- Valkey: гибкое распределенное хранилище данных с ключом-значением, которое поддерживает как кэширование, так и рабочие нагрузки, выходящие за рамки кэширования.
.NET Aspire позволяет легко моделировать протокол Redis, Garnet или Valkey RESP в приложениях и выбрать один из них в соответствии с вашими требованиями. Все интеграции .NET AspireRedis можно использовать с протоколом Redis, Garnet или Valkey RESP.
Кэширование
Кэширование — это метод, используемый для хранения часто используемых данных в памяти. Это помогает сократить время, необходимое для извлечения данных из исходного источника, таких как база данных или веб-служба. Кэширование может значительно повысить производительность приложения, уменьшая количество запросов, сделанных в исходный источник. Чтобы получить доступ к объекту RedisIConnectionMultiplexer
, используйте пакет NuGet Aspire.StackExchange.Redis
:
Интеграция Stack Exchange .NET AspireRedis (Garnet)
Распределенное кэширование
Распределенное кэширование — это тип кэширования, который хранит данные на нескольких серверах. Это позволяет совместно использовать данные между несколькими экземплярами приложения, что может помочь повысить масштабируемость и производительность. Распределенное кэширование можно использовать для хранения различных данных, таких как состояние сеанса, профили пользователей и часто доступные данные. Чтобы использовать Redis распределенное кэширование в приложении (интерфейс IDistributedCache
), используйте пакет NuGet Aspire.StackExchange.Redis.DistributedCaching
:
Кэширование выходных данных
Кэширование выходных данных — это тип кэширования, который хранит выходные данные веб-страницы или ответа API. Это позволяет отправлять ответ непосредственно из кэша, а не создавать его с нуля каждый раз. Кэширование выходных данных может помочь повысить производительность веб-приложения, сокращая время, затраченное на создание ответа. Чтобы использовать декларативное Redis кэширование выходных данных с атрибутом OutputCache
или методом CacheOutput
в приложении, используйте пакет NuGet Aspire.StackExchange.Redis.OutputCaching
:
См. также
- кэширование в .NET
- Обзор кэширования в ASP.NET Core
- распределенное кэширование в .NET
- распределенное кэширование в ASP.NET Core
- Выходное кэширование посредствующего ПО в ASP.NET Core
*: Redis является зарегистрированным товарным знаком Redis Ltd. Любые права, указанные в них, зарезервированы для Redis Ltd. Любое использование корпорации Майкрософт предназначено только для ссылок и не указывает на спонсорство, подтверждение или принадлежность между Redis и Корпорацией Майкрософт. Вернуться к верхней?
.NET Aspire