Оқиға
Интеллектуалды бағдарламаларды құру
Mar 17, 9 PM - Mar 21, 10 AM
Нақты пайдалану жағдайлары негізінде масштабты ИСК шешімдерін құру үшін стипендиаттармен және сарапшылармен кездесу сериясына қосылыңыз.
Қазір тіркелуБұл браузерге бұдан былай қолдау көрсетілмейді.
Соңғы мүмкіндіктерді, қауіпсіздік жаңартуларын және техникалық қолдауды пайдалану үшін Microsoft Edge браузеріне жаңартыңыз.
Включает:интеграция размещения и
Client интеграция
Узнайте, как использовать интеграцию кэширования выходных данных .NET AspireRedis. Интеграция клиента Aspire.StackExchange.Redis.OutputCaching
используется для регистрации поставщика кэширования вывода ASP.NET Core, поддерживаемого сервером Redis с образом контейнерного docker.io/library/redis
.
Узнайте, как использовать интеграцию кэширования выходных данных .NET AspireRedis. Интеграция клиента Aspire.StackExchange.Redis.OutputCaching
используется для регистрации поставщика ASP.NET Core вывода, поддерживаемого сервером Garnet с ghcr.io/microsoft/garnet
образом контейнера.
Узнайте, как использовать интеграцию кэширования выходных данных .NET AspireRedis. Интеграция клиента Aspire.StackExchange.Redis.OutputCaching
используется для регистрации поставщика кэширования ASP.NET Core выходных данных, поддерживаемого сервером Valkey , с образом контейнера docker.io/valkey/valkey
.
Redis интеграция моделирует ресурс Redis как тип RedisResource. Чтобы получить доступ к этому типу и API для их выражения в виде ресурсов в проекте узла приложения , добавьте пакет NuGet 📦Aspire.Hosting.Redis.
dotnet add package Aspire.Hosting.Redis
Дополнительные сведения см. в статье dotnet add package or Manage package dependencies in .NET applications.
В проекте хоста приложения, вызовите AddRedis на экземпляре builder
, чтобы добавить ресурс Redis.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Когда .NET.NET Aspire добавляет образ контейнера в узел приложения, как показано в предыдущем примере с изображением docker.io/Redis/Redis
, он создает новый экземпляр Redis на локальном компьютере. Ссылка на ресурс Redis (переменная cache
) добавляется в ExampleProject
.
Метод WithReference настраивает подключение в ExampleProject
с именем "cache"
. Дополнительные сведения см. в жизненном цикле ресурса контейнера.
Шайпұл
Если вы хотите подключиться к существующему экземпляру Redis, вызовите AddConnectionString вместо этого. Дополнительные сведения см. в статье Справочник по существующим ресурсам.
Чтобы добавить Redis Insights в ресурс Redis, вызовите метод WithRedisInsight
:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithRedisInsight();
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Redis Insights — это бесплатный интерфейс с графическим пользовательским интерфейсом для анализа данных Redis на всех операционных системах и развертываниях Redis с помощью помощника на базе искусственного интеллекта Redis Copilot.
.NET
.NET Aspire добавляет еще один образ контейнера docker.io/redis/redisinsight
в хост приложения, который выполняет приложение-командир.
Ескерім
Чтобы настроить порт узла для цепочки RedisInsightResource
, выполните вызов к API WithHostPort
и укажите нужный номер порта.
Чтобы добавить Redis Commander в ресурс Redis, вызовите метод WithRedisCommander:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithRedisCommander();
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Redis Commander — это веб-приложение Node.js, используемое для просмотра, редактирования и управления базой данных Redis.
.NET
.NET Aspire добавляет еще один образ контейнера docker.io/rediscommander/redis-commander
в хост приложения, который выполняет приложение-командир.
Шайпұл
Чтобы настроить порт узла для цепочки RedisCommanderResource, выполните вызов к API WithHostPort и укажите нужный номер порта.
Чтобы добавить том данных в ресурс Redis, вызовите метод WithDataVolume в ресурсе Redis:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Том данных используется для сохранения Redis данных за пределами жизненного цикла контейнера. Том данных подключается по пути /data
в контейнере Redis и когда параметр name
не указан, имя создается случайным образом. Дополнительные сведения о томах данных и сведения о том, почему они предпочтительнее привязки, см. в Docker документации по томам.
Чтобы добавить крепление привязки данных к ресурсу Redis, вызовите метод WithDataBindMount.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataBindMount(
source: @"C:\Redis\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Маңызды
Подключения привязки данных имеют ограниченные функциональные возможности по сравнению с томами, которые обеспечивают более высокую производительность, переносимость и безопасность, что делает их более подходящими для рабочих сред. Однако привязываемые подключения позволяют напрямую получать доступ и изменять файлы в хост-системе, что идеально подходит для разработки и тестирования, где требуются изменения в режиме реального времени.
Монтирование привязки данных зависит от файловой системы хост-компьютера для обеспечения сохранности данных Redis при перезапусках контейнера. Монтирование привязки данных осуществляется по пути C:\Redis\Data
на Windows (или /Redis/Data
на Unix) на хост-компьютере в контейнере Redis. Дополнительные сведения о подключении привязок данных см. в документации по Docker: подключение привязок.
Чтобы добавить сохраняемость к ресурсу Redis, вызовите метод WithPersistence с подключением тома данных или привязки данных:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Приведенный выше код добавляет сохраняемость к ресурсу Redis путем создания моментальных снимков данных Redis с заданным интервалом и пороговым значением.
interval
— это время между экспортами моментальных снимков, keysChangedThreshold
— количество операций изменения ключей, необходимых для запуска моментального снимка. Дополнительные сведения о персистентности см. в документации Redis: Персистентность.
Интеграция с Гарнетом моделирует ресурс Garnet в качестве типа GarnetResource. Чтобы получить доступ к этому типу и API, которые позволяют добавить его в пакет NuGet Hosting.Garnet 📦Aspire в проекте хоста приложения .
dotnet add package Aspire.Hosting.Garnet
Дополнительные сведения см. в статье dotnet add package or Manage package dependencies in .NET applications.
В проекте хоста приложения вызовите AddGarnet на экземпляре builder
, чтобы добавить ресурс Garnet.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Когда .NET.NET Aspire добавляет образ контейнера в хост приложения, как показано в предыдущем примере с изображением ghcr.io/microsoft/garnet
, он создает новый экземпляр Garnet на локальном компьютере. Ссылка на ресурс Garnet (переменная cache
) добавляется в ExampleProject
.
Метод WithReference настраивает подключение в ExampleProject
с именем "cache"
. Дополнительные сведения см. в жизненном цикле ресурса контейнера.
Шайпұл
Если вы хотите подключиться к существующему экземпляру Garnet, вызовите AddConnectionString вместо этого. Дополнительные сведения см. в статье Справочник по существующим ресурсам.
Чтобы добавить том данных в ресурс Garnet, вызовите метод AddGarnet в ресурсе Garnet:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Том данных используется для сохранения данных Garnet вне жизненного цикла контейнера. Том данных подключается по пути /data
в контейнере Гарнета и когда параметр name
не указан, имя создается случайным образом. Дополнительные сведения о томах данных и сведения о том, почему они предпочтительнее привязки, см. в Docker документации по томам.
Чтобы добавить подключение привязки данных к ресурсу Garnet, вызовите метод WithDataBindMount:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataBindMount(
source: @"C:\Garnet\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Маңызды
Подключения привязки данных имеют ограниченные функциональные возможности по сравнению с томами, которые обеспечивают более высокую производительность, переносимость и безопасность, что делает их более подходящими для рабочих сред. Однако привязываемые подключения позволяют напрямую получать доступ и изменять файлы в хост-системе, что идеально подходит для разработки и тестирования, где требуются изменения в режиме реального времени.
Привязка данных опирается на файловую систему хост-компьютера для сохранения данных Garnet при перезапусках контейнера. Монтирование привязки данных находится в пути C:\Garnet\Data
на Windows (или /Garnet/Data
на Unix) на хост-компьютере в контейнере Garnet. Дополнительные сведения о подключении привязок данных см. в документации по Docker: подключение привязок.
Чтобы добавить сохраняемость к ресурсу Garnet, вызовите метод WithPersistence с подключением тома данных или привязки данных:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Код, представленный выше, добавляет персистентность ресурсу Redis путем создания моментальных снимков данных Garnet с заданным интервалом и пороговым значением.
interval
— это время между экспортами моментальных снимков, keysChangedThreshold
— количество операций изменения ключей, необходимых для запуска моментального снимка. Дополнительные сведения о персистентности см. в документации Redis: Персистентность.
Интеграция размещения Valkey моделирует ресурс Valkey как тип ValkeyResource. Чтобы получить доступ к этому типу и API, которые позволяют добавить его в пакет NuGet 📦Aspire.Host.Valkey в проекте размещения приложения .
dotnet add package Aspire.Hosting.Valkey
Дополнительные сведения см. в статье dotnet add package or Manage package dependencies in .NET applications.
В проекте размещения приложения вызовите AddValkey на экземпляре builder
, чтобы добавить ресурс Valkey.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Когда .NET.NET Aspire добавляет образ контейнера в узел приложения, как показано в предыдущем примере с изображением docker.io/valkey/valkey
, он создает новый экземпляр Valkey на локальном компьютере. Ссылка на ресурс Valkey (переменная cache
) добавляется в ExampleProject
.
Метод WithReference настраивает подключение в ExampleProject
с именем "cache"
. Дополнительные сведения см. в жизненном цикле ресурса контейнера.
Шайпұл
Если вы хотите подключиться к существующему экземпляру Valkey, вызовите AddConnectionString вместо этого. Дополнительные сведения см. в статье Справочник по существующим ресурсам.
Чтобы добавить том данных в ресурс Valkey, вызовите метод AddValkey в ресурсе Valkey:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Том данных используется для сохранения данных Valkey за пределами жизненного цикла контейнера. Том данных подключается по пути /data
в контейнере Valkey, а если параметр name
не указан, имя создается случайным образом. Дополнительные сведения о томах данных и сведения о том, почему они предпочтительнее привязки, см. в Docker документации по томам.
Чтобы добавить подключение привязки данных к ресурсу Valkey, вызовите метод WithDataBindMount:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataBindMount(
source: @"C:\Valkey\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Маңызды
Подключения привязки данных имеют ограниченные функциональные возможности по сравнению с томами, которые обеспечивают более высокую производительность, переносимость и безопасность, что делает их более подходящими для рабочих сред. Однако привязываемые подключения позволяют напрямую получать доступ и изменять файлы в хост-системе, что идеально подходит для разработки и тестирования, где требуются изменения в режиме реального времени.
Подключения привязки данных зависят от файловой системы хост-компьютера, чтобы сохранить данные Valkey во время перезапуска контейнера. Точка монтирования привязки данных монтируется на C:\Valkey\Data
на Windows (или /Valkey/Data
на Unix) на компьютере-хосте в контейнере Valkey. Дополнительные сведения о подключении привязок данных см. в документации по Docker: подключение привязок.
Чтобы добавить устойчивость к ресурсу Valkey, вызовите метод WithPersistence, используя том данных или привязку данных.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache")
.WithDataVolume()
.WithPersistence(
interval: TimeSpan.FromMinutes(5),
keysChangedThreshold: 100);
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Приведенный выше код добавляет сохраняемость к ресурсу Redis путем создания моментальных снимков данных Valkey с заданным интервалом и пороговым значением.
interval
— это время между экспортами моментальных снимков, keysChangedThreshold
— количество операций изменения ключей, необходимых для запуска моментального снимка. Дополнительные сведения о персистентности см. в документации Redis: Персистентность.
Интеграция хостинга Redis автоматически добавляет проверку состояния для соответствующего типа ресурса. Проверка работоспособности проверяет, запущен ли сервер и что подключение можно установить к нему.
Интеграция размещения зависит от 📦 AspNetCore.HealthChecks.Redis пакет NuGet.
Чтобы приступить к работе с интеграцией клиента .NET Aspire Stack Exchange Redis для кэширования выходных данных, установите 📦Aspire. StackExchange.Redis. OutputCaching пакет NuGet в проекте, использующего клиент, то есть проект для приложения, использующего выходной клиент кэширования. Клиентская интеграция кеширования Redis регистрирует службы, необходимые для активации вызовов методов CacheOutput и использования атрибута [OutputCache], полагаясь на Redis в качестве механизма кеширования.
dotnet add package Aspire.StackExchange.Redis.OutputCaching
В файле Program.cs проекта, используюющего клиент, вызовите метод расширения AddRedisOutputCache в любом IHostApplicationBuilder, чтобы зарегистрировать необходимые службы для кэширования выходных данных.
builder.AddRedisOutputCache(connectionName: "cache");
Шайпұл
Параметр connectionName
должен соответствовать имени, используемому при добавлении ресурса Redis в проект узла приложения. Дополнительные сведения см. в разделе Добавление Redis ресурса.
Шайпұл
Параметр connectionName
должен соответствовать имени, используемому при добавлении ресурса Garnet в проект узла приложения. Дополнительные сведения см. в разделе Добавление ресурса Garnet.
Шайпұл
Параметр connectionName
должен соответствовать имени, используемому при добавлении ресурса Valkey в проект узла приложения. Дополнительные сведения см. в разделе Добавление ресурса Valkey.
Добавьте ПО промежуточного слоя в конвейер обработки запросов, вызвав UseOutputCache(IApplicationBuilder):
var app = builder.Build();
app.UseOutputCache();
Для минимальных приложений APIнастройте конечную точку для кэширования путем вызова CacheOutputили применения OutputCacheAttribute, как показано в следующих примерах:
app.MapGet("/cached", () => "Hello world!")
.CacheOutput();
app.MapGet(
"/attribute",
[OutputCache] () => "Hello world!");
Для приложений с контроллерами примените атрибут [OutputCache]
к методу действия. Для приложений Razor Pages примените атрибут к классу страницы Razor.
Интеграция кэширования выходных данных .NET Aspire Stack Exchange Redis предоставляет несколько вариантов настройки подключения Redis на основе требований и соглашений проекта.
При использовании строки подключения из раздела конфигурации ConnectionStrings
можно указать имя строки подключения при вызове AddRedisOutputCache:
builder.AddRedisOutputCache(connectionName: "cache");
Затем строка подключения будет получена из раздела конфигурации ConnectionStrings
:
{
"ConnectionStrings": {
"cache": "localhost:6379"
}
}
Дополнительные сведения о том, как отформатировать эту строку подключения, см. в документации по конфигурации RedisStack Exchange.
Интеграция .NET Aspire Stack Exchange Redis для кэширования вывода поддерживает Microsoft.Extensions.Configuration. Он загружает StackExchangeRedisSettings из конфигурации с помощью ключа Aspire:StackExchange:Redis
. Пример appsettings.json, который настраивает некоторые параметры:
{
"Aspire": {
"StackExchange": {
"Redis": {
"ConfigurationOptions": {
"ConnectTimeout": 3000,
"ConnectRetry": 2
},
"DisableHealthChecks": true,
"DisableTracing": false
}
}
}
}
Полный Redis выходной кэширование схемы интеграции клиента JSON см. в Aspire. StackExchange.Redis. OutputCaching/ConfigurationSchema.json.
Можно также передать делегат Action<StackExchangeRedisSettings> configurationSettings
для настройки некоторых или всех встроенных параметров, например для отключения проверок работоспособности из кода:
builder.AddRedisOutputCache(
"cache",
static settings => settings.DisableHealthChecks = true);
Вы также можете настроить ConfigurationOptions с помощью параметра делегата Action<ConfigurationOptions> configureOptions
метода AddRedisOutputCache. Например, чтобы задать время ожидания подключения:
builder.AddRedisOutputCache(
"cache",
static settings => settings.ConnectTimeout = 3_000);
По умолчанию в интеграциях клиентов .NET.NET Aspire проверки работоспособности включены для всех служб. Аналогичным образом, многие .NET.NET Aspireинтеграции размещения также включают конечные точки проверки работоспособности. Дополнительные сведения см. в следующем разделе:
Интеграция с кэшированием выходных данных .NET Aspire Stack Exchange Redis.NET Aspire обрабатывает следующее:
false
, которая пытается подключиться к экземпляру контейнера./health
, которая указывает, что все зарегистрированные проверки работоспособности должны быть успешными, чтобы приложение считалось готовым принять трафик.
.NET
.NET Aspire интеграции автоматически настраивают конфигурации журналирования, трассировки и метрик, которые иногда называются столпами наблюдаемости. Дополнительные сведения об наблюдаемости интеграции и телеметрии см. в .NET.NET Aspire обзоре интеграции. В зависимости от резервной службы некоторые интеграции могут поддерживать только некоторые из этих функций. Например, некоторые интеграции поддерживают ведение журнала и трассировку, но не метрики. Функции телеметрии также можно отключить с помощью методов, представленных в разделе конфигурации
Интеграция кэширования выходных данных .NET Aspire Stack Exchange Redis использует следующие категории журналов:
Aspire.StackExchange.Redis
Microsoft.AspNetCore.OutputCaching.StackExchangeRedis
.NET Aspire Интеграция кэширования выводных данных Stack Exchange Redis будет выдавать следующие действия трассировки с помощью OpenTelemetry:
OpenTelemetry.Instrumentation.StackExchangeRedis
Интеграция кэширования выходных данных .NET Aspire Stack Exchange Redis в настоящее время не поддерживает метрики по умолчанию из-за ограничений библиотеки StackExchange.Redis
.
*: Redis является зарегистрированным товарным знаком Redis Ltd. Любые права, указанные в них, зарезервированы для Redis Ltd. Любое использование корпорации Майкрософт предназначено только для ссылок и не указывает на спонсорство, подтверждение или принадлежность между Redis и Корпорацией Майкрософт. Вернуться к верхней?
.NET Aspire кері байланысы
.NET Aspire — бастапқы коды ашық жоба. Пікір қалдыру үшін сілтемені таңдаңыз:
Оқиға
Интеллектуалды бағдарламаларды құру
Mar 17, 9 PM - Mar 21, 10 AM
Нақты пайдалану жағдайлары негізінде масштабты ИСК шешімдерін құру үшін стипендиаттармен және сарапшылармен кездесу сериясына қосылыңыз.
Қазір тіркелуОқыту
Модуль
Verbessern der Leistung mit einem Cache in einem .NET Aspire-Projekt - Training
In diesem Modul erfahren Sie mehr über Caches in einer cloudnativen .NET Aspire-App und wie Sie diese verwenden können, um die Leistung Ihrer Microservices zu optimieren.
Құжаттама
.NET Aspire Redis-Integration - .NET Aspire
Erfahren Sie, wie Sie die .NET AspireRedis-Integration verwenden, die sowohl Hosting- als auch Clientintegrationen umfasst.
.NET Aspire Redis Integration verteilter Caching-Systeme - .NET Aspire
Erfahren Sie, wie Sie die .NET AspireRedis integration verteilter Zwischenspeicherung verwenden, die sowohl Hosting- als auch Clientintegrationen umfasst.
Übersicht über das Caching bei Stack Exchange Redis - .NET Aspire
Erfahren Sie mehr über Stack Exchange Redis Zwischenspeicherung und wie Sie es in Ihren Anwendungen verwenden können.
Implementierung der Zwischenspeicherung mit .NET-.NET Aspire-Integrationen - .NET Aspire
Erfahren Sie, wie Sie mithilfe Redis Integrationen eine Verbindung mit .NET Aspire herstellen und Daten zwischenspeichern.