.NET Aspire Redis * integracja rozproszonego buforowania ®
obejmuje: integracjaz hostingiem oraz integracja Client z
Dowiedz się, jak używać integracji rozproszonego buforowania .NET AspireRedis. Biblioteka Aspire.StackExchange.Redis.DistributedCaching
służy do rejestrowania dostawcy IDistributedCache obsługiwanego przez Redisserver przy użyciu obrazu kontenera docker.io/library/redis
.
Dowiedz się, jak używać integracji rozproszonego buforowania .NET AspireRedis. Biblioteka Aspire.StackExchange.Redis.DistributedCaching
służy do rejestrowania dostawcy IDistributedCache wspieranego przez Garnetserver przy użyciu obrazu kontenera ghcr.io/microsoft/garnet
.
Dowiedz się, jak używać integracji rozproszonego buforowania .NET AspireRedis. Biblioteka Aspire.StackExchange.Redis.DistributedCaching
służy do rejestrowania dostawcy IDistributedCache wspieranego przez Valkeyserver przy użyciu obrazu kontenera docker.io/valkey/valkey
.
Integracja hostingu
Model integracji hostingu Redis przedstawia zasób Redis jako typ RedisResource. Aby uzyskać dostęp do tego typu i interfejsów API, które umożliwiają dodanie go do 📦Aspire.Hosting.Redis pakiet NuGet w projekcie hosta aplikacji .
-
interfejsu wiersza polecenia
- PackageReference
dotnet add package Aspire.Hosting.Redis
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzaj zależnościami pakietów w .NET aplikacjach.
Dodawanie zasobu Redis
W projekcie hosta aplikacji wywołaj AddRedis w wystąpieniu builder
, aby dodać zasób Redis:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Gdy .NET.NET Aspire dodaje obraz kontenera do hosta aplikacji, jak pokazano w poprzednim przykładzie z obrazem docker.io/Redis/Redis
, tworzy nową instancję Redis na lokalnej maszynie. Odwołanie do zasobu Redis (zmiennej cache
) jest dodawane do ExampleProject
.
Metoda WithReference konfiguruje połączenie w ExampleProject
o nazwie "cache"
. Aby uzyskać więcej informacji, zobacz Cykl życia zasobów kontenera.
Napiwek
Jeśli wolisz nawiązać połączenie z istniejącym wystąpieniem Redis, wywołaj AddConnectionString zamiast tego. Aby uzyskać więcej informacji, zobacz Odniesienie do istniejących zasobów.
Dodawanie zasobu Redis za pomocą usługi Redis Insights
Aby dodać Redis do zasobu Redis, wywołaj metodę 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 to bezpłatny interfejs graficzny do analizy danych Redis we wszystkich systemach operacyjnych i Redis wdrożeniach przy użyciu naszego asystenta sztucznej inteligencji, Redis Copilot.
.NET
.NET Aspire dodaje kolejny obraz kontenera docker.io/redis/redisinsight
do hosta aplikacji, który uruchamia aplikację dowódcy.
Uwaga
Aby skonfigurować port hosta dla RedisInsightResource
, wykonaj wywołanie do interfejsu API WithHostPort
i podaj żądany numer portu.
Dodawanie zasobu Redis za pomocą dowódcy Redis
Aby dodać Redis Commander do zasobu Redis, wywołaj metodę 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 to aplikacja internetowa Node.js używana do wyświetlania, edytowania i zarządzania bazą danych Redis.
.NET
.NET Aspire dodaje kolejny obraz kontenera docker.io/rediscommander/redis-commander
do hosta aplikacji, który uruchamia aplikację dowódcy.
Napiwek
Aby skonfigurować port hosta w łańcuchu RedisCommanderResource, należy wykonać wywołanie do interfejsu API WithHostPort i podać żądany numer portu.
Dodawanie zasobu Redis z woluminem danych
Aby dodać wolumin danych do zasobu Redis, wywołaj metodę WithDataVolume w zasobie 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...
Wolumen danych służy do utrwalania danych Redis poza cyklem życia jego kontenera. Wolumin danych jest instalowany w ścieżce /data
w kontenerze Redis, a gdy nie podano parametru name
, nazwa jest generowana losowo. Aby uzyskać więcej informacji na temat wolumenów danych i szczegółów na temat tego, dlaczego preferowane są od instalacji wiązań, zobacz w Docker dokumentacji: Woluminy.
Dodaj zasób Redis z zamontowaniem powiązania danych
Aby dodać wolumin powiązania danych do zasobu Redis, wywołaj metodę 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...
Ważny
Instalacje powiązane danych mają ograniczoną funkcjonalność w porównaniu z woluminami , co zapewnia lepszą wydajność, przenośność i bezpieczeństwo, co czyni je bardziej odpowiednimi dla środowisk produkcyjnych. Jednak instalacje wiązania umożliwiają bezpośredni dostęp i modyfikację plików w systemie hosta, idealne do programowania i testowania, w których potrzebne są zmiany w czasie rzeczywistym.
Montowanie powiązań danych polega na systemie plików maszyny hosta do przechowywania danych Redis w trakcie restartów kontenera. Instalacja powiązania danych jest instalowana w C:\Redis\Data
w systemie Windows (lub /Redis/Data
w Unix) ścieżki na maszynie hosta w kontenerze Redis. Aby uzyskać więcej informacji na temat powiązań danych, zobacz w dokumentacji Docker: Bind mounts.
Dodawanie zasobu Redis z trwałością
Aby dodać trwałość do zasobu Redis, wywołaj metodę WithPersistence za pomocą woluminu danych lub instalacji powiązania danych:
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...
Powyższy kod zapewnia trwałość zasobowi Redis przez tworzenie migawek danych Redis zgodnie z określonym interwałem i progiem.
interval
to okres między eksportami migawek, a keysChangedThreshold
to liczba operacji zmiany klucza wymagana do wyzwolenia migawki. Aby uzyskać więcej informacji na temat trwałości, zobacz Redis docs: Trwałość.
Integracja hostingu Garnet modeluje zasób Garnet jako typ GarnetResource. Aby uzyskać dostęp do tego typu i interfejsów API, które umożliwiają dodanie go do 📦Aspire.Hosting.Garnet pakietu NuGet w projekcie hosta aplikacji .
dotnet add package Aspire.Hosting.Garnet
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzaj zależnościami pakietów w .NET aplikacjach.
Dodawanie zasobu Garnet
W projekcie hosta aplikacji wywołaj AddGarnet w wystąpieniu builder
, aby dodać zasób Garnet:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Gdy .NET.NET Aspire dodaje obraz kontenera do hosta aplikacji, jak pokazano w tym przykładzie z obrazem ghcr.io/microsoft/garnet
, tworzy nowe wystąpienie Garnet na komputerze lokalnym. Odwołanie do zasobu Garnet (zmienna cache
) jest dodawane do ExampleProject
.
Metoda WithReference konfiguruje połączenie w ExampleProject
o nazwie "cache"
. Aby uzyskać więcej informacji, zobacz Cykl życia zasobów kontenera.
Napiwek
Jeśli wolisz nawiązać połączenie z istniejącym wystąpieniem Garnet, wywołaj AddConnectionString w przeciwnym razie. Aby uzyskać więcej informacji, zobacz Referencja istniejących zasobów.
Dodawanie zasobu Garnet z woluminem danych
Aby dodać wolumin danych do zasobu Garnet, wywołaj metodę AddGarnet w zasobie 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...
Wolumen danych służy do utrwalania danych Garnet poza cyklem życia kontenera. Wolumin danych jest instalowany w ścieżce /data
w kontenerze Garnet i gdy nie podano parametru name
, nazwa jest generowana losowo. Aby uzyskać więcej informacji na temat woluminów danych i szczegółów, dlaczego są one preferowane zamiast powiązań montowania , zobacz dokumentację Docker: woluminy.
Dodawanie zasobu Garnet z instalacją powiązania danych
Aby dodać instalację powiązania danych do zasobu Garnet, wywołaj metodę 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...
Ważny
Podłączenia danych mają ograniczoną funkcjonalność w porównaniu z woluminami , które oferują lepszą wydajność, przenośność i bezpieczeństwo, co sprawia, że są bardziej odpowiednie dla środowisk produkcyjnych. Jednak bind mounts umożliwiają bezpośredni dostęp i modyfikację plików w systemie hosta, co jest idealne dla rozwoju i testowania, gdzie potrzebne są zmiany w czasie rzeczywistym.
Instalacje powiązania danych polegają na systemie plików maszyny hosta w celu utrwalania danych Garnet między ponownymi uruchomieniami kontenera. Instalacja powiązania danych jest instalowana w C:\Garnet\Data
w systemie Windows (lub /Garnet/Data
w Unix) ścieżki na maszynie hosta w kontenerze Garnet. Aby uzyskać więcej informacji na temat powiązań danych bind mount, zobacz dokumentację: Bind mounts
Dodawanie zasobu Garnet z zachowaniem trwałości
Aby zasób Garnet był trwały, wywołaj metodę WithPersistence, używając albo wolumenu danych, albo montowania powiązań danych.
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...
Powyższy kod dodaje trwałość zasobowi Redis przez tworzenie migawek danych Garnet w określonym interwale i progu.
interval
to czas między eksportami migawek i keysChangedThreshold
jest liczbą operacji zmiany klucza wymaganych do uruchomienia migawki. Aby uzyskać więcej informacji na temat trwałości, zobacz Redis docs: Trwałość.
Integracja Valkey modeluje zasób Valkey jako typ ValkeyResource. Aby uzyskać dostęp do tego typu i interfejsów API, które umożliwiają dodanie go do 📦Aspire.Hosting.Valkey pakietu NuGet w projekcie hosta aplikacji .
dotnet add package Aspire.Hosting.Valkey
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzanie zależnościami pakietów w aplikacjach .NET.
Dodawanie zasobu Valkey
W projekcie hosta aplikacji wywołaj AddValkey na instancji builder
, aby dodać zasób Valkey.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Gdy .NET.NET Aspire dodaje obraz kontenera do hosta aplikacji, jak pokazano w poprzednim przykładzie z obrazem docker.io/valkey/valkey
, tworzy nowe wystąpienie Valkey na komputerze lokalnym. Odwołanie do zasobu Valkey (zmiennej cache
) jest dodawane do ExampleProject
.
Metoda WithReference konfiguruje połączenie w ExampleProject
o nazwie "cache"
. Aby uzyskać więcej informacji, zobacz Cykl życia zasobów kontenera.
Napiwek
Jeśli wolisz nawiązać połączenie z istniejącym wystąpieniem Valkey, wywołaj AddConnectionString. Aby uzyskać więcej informacji, zobacz Istniejące zasoby.
Dodawanie zasobu Valkey z woluminem danych
Aby dodać wolumin danych do zasobu Valkey, wywołaj metodę AddValkey w zasobie 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...
Wolumin danych jest używany do utrwalania danych Valkey poza cyklem życia kontenera. Wolumin danych jest instalowany w ścieżce /data
w kontenerze Valkey, a gdy nie podano parametru name
, nazwa jest generowana losowo. Aby uzyskać więcej informacji na temat wolumenów danych i szczegółów na temat tego, dlaczego są preferowane w przypadku montowania wiązań, zobacz Docker dokumentacji: Woluminy.
Dodawanie zasobu Valkey z instalacją powiązania danych
Aby dodać powiązanie danych z zasobem Valkey, wywołaj metodę 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...
Ważny
Montowania powiązane danych mają ograniczoną funkcjonalność w porównaniu z woluminami , które oferują lepszą wydajność, przenośność i bezpieczeństwo, czyniąc je bardziej odpowiednie dla środowisk produkcyjnych. Jednak montowanie wiążące umożliwia bezpośredni dostęp i modyfikację plików na systemie hosta, co jest idealne do rozwoju i testowania, gdy wymagane są zmiany w czasie rzeczywistym.
Wiązania danych polegają na systemie plików maszyny hosta, aby zachować dane Valkey między ponownymi uruchomieniami kontenera. Montowanie powiązania danych odbywa się pod C:\Valkey\Data
w systemie Windows (lub pod /Valkey/Data
na Unix) na maszynie hosta w kontenerze Valkey. Aby uzyskać więcej informacji na temat instalacji powiązań danych, zobacz Docker docs: Bind mounts.
Dodaj zasób Valkey ze stałością
Aby dodać trwałość do zasobu Valkey, wywołaj metodę WithPersistence za pomocą woluminu danych lub instalacji powiązania danych:
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...
Powyższy kod dodaje trwałość do zasobu Redis przez tworzenie migawek danych Valkey w określonych odstępach czasowych i przy określonym progu.
interval
to czas między eksportami migawek a keysChangedThreshold
jest liczbą operacji zmiany klucza wymaganych do wyzwolenia migawki. Aby uzyskać więcej informacji na temat trwałości, zobacz Redis docs: Trwałość.
Sprawdzanie kondycji integracji hostingu
Redis integracja hostingu automatycznie dodaje kontrolę kondycji dla odpowiedniego typu zasobu. Kontrola kondycji sprawdza, czy server jest uruchomiona i czy można nawiązać z nim połączenie.
Integracja hostingu opiera się na pakiecie NuGet
Client integracja
Aby rozpocząć pracę z integracją rozproszonego buforowania .NET AspireRedis, zainstaluj pakiet NuGet 📦Aspire.StackExchange.Redis.DistributedCaching w projekcie konsumującym client, tj. w projekcie dla aplikacji korzystającej z rozproszonego buforowania Redisclient.
dotnet add package Aspire.StackExchange.Redis.DistributedCaching
Dodaj Redisclient
W pliku Program.cs projektu korzystającego z clientwywołaj rozszerzenie AddRedisDistributedCache, aby zarejestrować wymagane usługi do buforowania rozproszonego i dodaj IDistributedCache do wykorzystania przez kontener wstrzykiwania zależności.
builder.AddRedisDistributedCache(connectionName: "cache");
Napiwek
Parametr connectionName
musi być zgodny z nazwą używaną podczas dodawania zasobu Redis w projekcie hosta aplikacji. Aby uzyskać więcej informacji, zobacz Dodaj zasób Redis.
Napiwek
Parametr connectionName
musi być zgodny z nazwą używaną podczas dodawania zasobu Garnet w projekcie hosta aplikacji. Aby uzyskać więcej informacji, zobacz Dodaj zasób Garnet.
Napiwek
Parametr connectionName
musi być zgodny z nazwą używaną podczas dodawania zasobu Valkey w projekcie hosta aplikacji. Aby uzyskać więcej informacji, zobacz sekcję Dodawanie zasobu Valkey.
Można następnie pobrać wystąpienie IDistributedCache
za pomocą wstrzykiwania zależności. Na przykład, aby pobrać pamięć podręczną z usługi:
public class ExampleService(IDistributedCache cache)
{
// Use cache...
}
Aby uzyskać więcej informacji na temat wstrzykiwania zależności, zobacz .NET wstrzykiwanie zależności.
Dodaj kluczowe Redisclient
Mogą wystąpić sytuacje, w których chcesz zarejestrować wiele wystąpień IDistributedCache
z różnymi nazwami połączeń. Aby zarejestrować klientów Redis, wywołaj metodę AddKeyedRedisDistributedCache.
builder.AddKeyedRedisDistributedCache(name: "chat");
builder.AddKeyedRedisDistributedCache(name: "product");
Przy użyciu wstrzykiwania zależności można następnie pobrać wystąpienia IDistributedCache
. Aby na przykład pobrać połączenie z przykładowej usługi:
public class ExampleService(
[FromKeyedServices("chat")] IDistributedCache chatCache,
[FromKeyedServices("product")] IDistributedCache productCache)
{
// Use caches...
}
Aby uzyskać więcej informacji na temat usług bazujących na kluczach, zobacz .NET wstrzykiwanie zależności: usługi bazujące na kluczach.
Konfiguracja
Integracja rozproszonego buforowania .NET AspireRedis udostępnia wiele opcji konfigurowania połączenia Redis na podstawie wymagań i konwencji projektu.
Używanie parametrów połączenia
W przypadku używania parametrów połączenia z sekcji konfiguracji ConnectionStrings
można podać nazwę parametrów połączenia podczas wywoływania builder.AddRedisDistributedCache
:
builder.AddRedisDistributedCache("cache");
Następnie parametry połączenia zostaną pobrane z sekcji konfiguracji ConnectionStrings
:
{
"ConnectionStrings": {
"cache": "localhost:6379"
}
}
Aby uzyskać więcej informacji na temat formatowania tego łańcucha połączenia, zobacz dokumentację konfiguracji Stack Exchange Redis.
Korzystanie z dostawców konfiguracji
Integracja .NET Aspire Stack Exchange Redis obsługuje Microsoft.Extensions.Configuration. Ładuje StackExchangeRedisSettings z konfiguracji przy użyciu klucza Aspire:StackExchange:Redis
. Przykład appsettings.json, który konfiguruje niektóre opcje:
{
"Aspire": {
"StackExchange": {
"Redis": {
"ConnectionString": "localhost:6379",
"DisableHealthChecks": true,
"DisableTracing": false
}
}
}
}
Aby uzyskać pełny schemat integracji RedisclientJSON, zobacz Aspire. StackExchange.Redis/ConfigurationSchema.json.
Używanie delegatów wbudowanych
Możesz również przekazać delegata Action<StackExchangeRedisSettings>
, aby skonfigurować niektóre lub wszystkie opcje w wierszu, na przykład aby skonfigurować DisableTracing
:
builder.AddRedisDistributedCache(
"cache",
settings => settings.DisableTracing = true);
Można również skonfigurować ConfigurationOptions przy użyciu parametru delegata Action<ConfigurationOptions> configureOptions
metody AddRedisDistributedCache
. Na przykład aby ustawić limit czasu połączenia:
builder.AddRedisDistributedCache(
"cache",
static settings => settings.ConnectTimeout = 3_000);
Kontrole kondycji
Domyślnie .NET.NET Aspire integracje umożliwiają sprawdzanie kondycji dla wszystkich usług. Aby uzyskać więcej informacji, zobacz omówienie integracji .NET.NET Aspire.
Integracja rozproszonego buforowania .NET AspireRedis obsługuje następujące elementy:
- Dodaje
StackExchange.Redis
sprawdzanie kondycji, próbuje otworzyć połączenie i zgłasza błąd w przypadku niepowodzenia. - Integruje się z punktem końcowym HTTP
/health
, który określa, że wszystkie zarejestrowane kontrole zdrowia muszą zostać pomyślnie zakończone, by aplikacja została uznana za gotową do akceptowania ruchu
Obserwowanie i telemetria
.NET
.NET Aspire integracje automatycznie konfigurują rejestrowanie, śledzenie i metryki, które są czasami nazywane filarami obserwowalności. Aby uzyskać więcej informacji na temat możliwości obserwacji integracji i telemetrii, zobacz omówienie integracji .NET.NET Aspire. W zależności od usługi pomocniczej niektóre integracje mogą obsługiwać tylko niektóre z tych funkcji. Na przykład niektóre integracje obsługują rejestrowanie i śledzenie, ale nie metryki. Funkcje telemetrii można również wyłączyć przy użyciu technik przedstawionych w sekcji konfiguracji
Wycinanie drzew и zarządzanie drewnem
Integracja rozproszonego buforowania .NET AspireRedis używa następujących kategorii dzienników:
Aspire.StackExchange.Redis
Microsoft.Extensions.Caching.StackExchangeRedis
Śledzenie
Integracja .NET AspireRedis rozproszonego buforowania będzie emitować następujące działania śledzenia przy użyciu OpenTelemetry:
OpenTelemetry.Instrumentation.StackExchangeRedis
Metryki
Integracja .NET AspireRedis rozproszonego buforowania obecnie nie obsługuje metryk z powodu ograniczeń biblioteki StackExchange.Redis
.
Azure Redis integracja hostingu
Aby wdrożyć zasoby Redis w usłudze Azure, zainstaluj 📦Aspire.Hosting.Azure.Redis pakiet NuGet:
dotnet add package Aspire.Hosting.Azure.Redis
Dodawanie zasobu Azure Cache for Redisserver
Po zainstalowaniu pakietu hostującego .NET AspireAzureRedis, wywołaj metodę rozszerzenia AddAzureRedis
w projekcie hostującym aplikacji:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddAzureRedis("azcache")
var exampleProject = builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
Poprzednie wywołanie AddAzureRedis
konfiguruje zasób Redisserver do wdrożenia w formie Azure Cache for Redis.
Ważny
Domyślnie AddAzureRedis
konfiguruje uwierzytelnianie Microsoft Entra ID. Wymaga to zmian w aplikacjach, które muszą łączyć się z tymi zasobami, na przykład integracje client.
Dodaj Azure Cache for Redis rozproszony client
Domyślnie, podczas wywoływania AddAzureRedis
w integracji hostingu Redis, konfiguruje 📦 Microsoft.Azure.StackExchangeRedis pakiet NuGet, aby włączyć uwierzytelnianie.
dotnet add package Microsoft.Azure.StackExchangeRedis
Połączenie Redis można wykorzystać za pomocą integracji client i Microsoft.Azure.StackExchangeRedis
. Rozważmy następujący kod konfiguracji:
var azureOptionsProvider = new AzureOptionsProvider();
var configurationOptions = ConfigurationOptions.Parse(
builder.Configuration.GetConnectionString("cache") ??
throw new InvalidOperationException("Could not find a 'cache' connection string."));
if (configurationOptions.EndPoints.Any(azureOptionsProvider.IsMatch))
{
await configurationOptions.ConfigureForAzureWithTokenCredentialAsync(
new DefaultAzureCredential());
}
builder.AddRedisDistributedCache("cache", configureOptions: options =>
{
options.Defaults = configurationOptions.Defaults;
});
Aby uzyskać więcej informacji, zobacz repozytorium StackExchangeRedis.
Zobacz też
*: Redis jest zastrzeżonym znakiem towarowym Redis Ltd. Wszelkie prawa, które istnieją, są zastrzeżone do Redis Ltd. Każde użycie przez firmę Microsoft jest przeznaczone tylko do celów referentalnych i nie wskazuje żadnych sponsorów, poparcia ani przynależności między Redis a firmą Microsoft. powrócić do góry?