.NET Aspire Redis * Integration ®
umfasst:Hosting-Integration und Client-Integration
Redis ist die weltweit schnellste Datenplattform für Zwischenspeicherung, Vektorsuche und NoSQL-Datenbanken. Mit der .NET AspireRedis-Integration können Sie eine Verbindung mit vorhandenen Redis-Instanzen herstellen oder neue Instanzen aus .NET mit dem docker.io/library/redis
-Container-Imageerstellen.
Garnet ist ein leistungsstarker Cache-Speicher von Microsoft Research und entspricht dem Redis Serialisierungsprotokoll (RESP). Mit der .NET AspireRedis-Integration können Sie eine Verbindung mit vorhandenen Garnet-Instanzen herstellen oder neue Instanzen aus .NET mit dem ghcr.io/microsoft/garnet
Containerimageerstellen.
Valkey ist eine Redis Fork und entspricht dem Redis Serialisierungsprotokoll (RESP). Es handelt sich um einen leistungsfähigen Schlüssel-Wert-Datenspeicher, der eine Vielzahl von Workloads wie Zwischenspeichern, Nachrichtenwarteschlangen unterstützt und als primäre Datenbank fungieren kann. Mit der .NET AspireRedis-Integration können Sie eine Verbindung mit vorhandenen Valkey-Instanzen herstellen oder neue Instanzen aus .NET mit dem docker.io/valkey/valkey
Containerimageerstellen.
Hosting Integration
Die Redis-Hosting-Integration modelliert eine Redis-Ressource als Typ RedisResource. Um auf diesen Typ und auf die APIs zuzugreifen, die es ermöglichen, ihn in Ihr 📦Aspire.Hosting.Redis NuGet-Paket im App-Host--Projekt einzubinden.
dotnet add package Aspire.Hosting.Redis
Weitere Informationen finden Sie unter dotnet add package oder Verwalten von Paketabhängigkeiten in .NET-Anwendungen.
Ressource Redis hinzufügen
Rufen Sie in Ihrem App-Hostprojekt AddRedis in der builder
Instanz auf, um eine Redis Ressource hinzuzufügen:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Wenn .NET.NET Aspire dem App-Host ein Containerimage hinzufügt, wie im vorherigen Beispiel mit dem docker.io/Redis/Redis
-Image gezeigt, wird eine neue Redis Instanz auf dem lokalen Computer erstellt. Dem ExampleProject
wird ein Verweis auf die Redis Ressource (die Variable cache
) hinzugefügt.
Die WithReference-Methode konfiguriert eine Verbindung im ExampleProject
namens "cache"
. Weitere Informationen finden Sie im Abschnitt Containerressourcenlebenszyklus.
Tipp
Wenn Sie lieber eine Verbindung mit einer vorhandenen Redis Instanz herstellen möchten, rufen Sie stattdessen AddConnectionString auf. Weitere Informationen finden Sie unter Referenzieren vorhandener Ressourcen.
Hinzufügen Redis Ressource mit Redis Insights
Rufen Sie die WithRedisInsight
-Methode auf, um die Redis Insights zur Ressource Redis hinzuzufügen.
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 ist eine kostenlose grafische Benutzeroberfläche zur Analyse von Redis-Daten auf allen Betriebssystemen und in allen Redis-Umgebungen, unterstützt von unserem KI-Assistenten, Redis Copilot.
.NET
.NET Aspire fügt dem App-Host, der die Commander-App ausführt, ein weiteres Containerimage docker.io/redis/redisinsight
hinzu.
Anmerkung
Um den Hostport für die RedisInsightResource
-Kette zu konfigurieren, rufen Sie die WithHostPort
-API auf und geben Sie die gewünschte Portnummer an.
Füge die Ressource Redis mit dem Commander Redis hinzu
Rufen Sie die WithRedisCommander-Methode auf, um den Redis-Kommandanten zur Ressource Redis hinzuzufügen.
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 ist eine Node.js Webanwendung, die zum Anzeigen, Bearbeiten und Verwalten einer Redis Datenbank verwendet wird.
.NET
.NET Aspire fügt dem App-Host, der die Commander-App ausführt, ein weiteres Container-Image docker.io/rediscommander/redis-commander
hinzu.
Trinkgeld
Um den Hostport für die RedisCommanderResource-Kette zu konfigurieren, rufen Sie die WithHostPort-API auf und geben Sie die gewünschte Portnummer an.
Fügen Sie Redis-Ressource mit Datenvolumen hinzu
Rufen Sie die WithDataVolume-Methode für die Redis-Ressource auf, um der Redis-Ressource ein Datenvolume hinzuzufügen:
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...
Das Datenvolumen wird verwendet, um die Redis Daten außerhalb des Lebenszyklus des Containers zu speichern. Das Datenvolumen wird am /data
Pfad im Container Redis bereitgestellt. Wenn kein name
Parameter angegeben wird, wird der Name zufällig generiert. Weitere Informationen über Datenvolumes und Details, warum diese gegenüber Bind-Mountsbevorzugt werden, finden Sie in der Docker-Dokumentation: Volumes.
Hinzufügen Redis Ressource mit Datenbindungs-Bereitstellung
Rufen Sie die WithDataBindMount-Methode auf, um der Redis-Ressource eine Datenbindung hinzuzufügen:
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...
Wichtig
Daten Binden von Bereitstellungen mit eingeschränkter Funktionalität im Vergleich zu Volumes, die eine bessere Leistung, Portabilität und Sicherheit bieten, wodurch sie für Produktionsumgebungen besser geeignet sind. Bind-Mounts ermöglichen jedoch direkten Zugriff und die Änderung von Dateien auf dem Hostsystem, was ideal für die Entwicklung und Tests ist, bei denen Echtzeitänderungen erforderlich sind.
Datenbindungs-Bereitstellungen basieren auf dem Dateisystem des Hostcomputers, um die Redis Daten über Containerneustarts hinweg beizubehalten. Die Datenbindungsbereitstellung wird auf dem C:\Redis\Data
unter Windows (oder /Redis/Data
auf Unix) Pfad auf dem Hostcomputer im container Redis bereitgestellt. Weitere Informationen zu Bind-Datenträgern finden Sie in der Docker-Dokumentation: Bind-Datenträger.
Ressource Redis mit Persistenz hinzufügen
Rufen Sie die WithPersistence-Methode entweder mit dem Datenvolumen oder dem Daten-Bind-Mount auf, um Persistenz zur Redis Ressource hinzuzufügen.
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...
Der vorangehende Code fügt der Redis-Ressource Persistenz hinzu, indem Momentaufnahmen der Redis-Daten in einem angegebenen Intervall und ab einem Schwellenwert erstellt werden. Die interval
ist die Zeit zwischen Momentaufnahmenexporten, und die keysChangedThreshold
ist die Anzahl der Schlüsseländerungsoperationen, die zum Auslösen einer Momentaufnahme erforderlich sind. Weitere Informationen zur Persistenz finden Sie unter Redis Docs: Persistenz.
Die Garnet-Hostingintegration modelliert eine Garnet-Ressource vom Typ GarnetResource. Um auf diesen Typ und die APIs zuzugreifen, die es Ihnen ermöglichen, ihn zu Ihrem 📦Aspire.Hosting.Garnet NuGet-Paket im App-Host--Projekt hinzuzufügen.
dotnet add package Aspire.Hosting.Garnet
Weitere Informationen finden Sie unter dotnet add package oder Verwalten von Paketabhängigkeiten in .NET-Anwendungen.
Garnet-Ressource hinzufügen
Rufen Sie in Ihrem App-Hostprojekt AddGarnet in der builder
Instanz auf, um eine Garnet-Ressource hinzuzufügen:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Wenn .NET.NET Aspire dem App Host ein Container-Image hinzufügt, wie im vorherigen Beispiel mit dem ghcr.io/microsoft/garnet
-Image gezeigt, wird eine neue Garnet-Instanz auf dem lokalen Computer erstellt. Zu ExampleProject
wird ein Verweis auf Ihre Garnet-Ressource (die cache
-Variable) hinzugefügt.
Die WithReference-Methode konfiguriert eine Verbindung im ExampleProject
namens "cache"
. Weitere Informationen finden Sie unter Container-Ressourcenlebenszyklus.
Tipp
Wenn Sie lieber eine Verbindung mit einer vorhandenen Garnet-Instanz herstellen möchten, rufen Sie stattdessen AddConnectionString auf. Weitere Informationen finden Sie unter Referenzieren vorhandener Ressourcen.
Hinzufügen einer Garnet-Ressource mit Datenvolume
Um der Garnet-Ressource ein Datenvolume hinzuzufügen, rufen Sie die AddGarnet-Methode für die Garnet-Ressource auf:
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...
Das Datenvolume wird verwendet, um die Garnet-Daten außerhalb des Lebenszyklus des Containers zu speichern. Das Datenvolumen wird am /data
Pfad im Garnet-Container bereitgestellt, und wenn kein name
Parameter angegeben wird, wird der Name zufällig generiert. Weitere Informationen zu Datenvolumes und Details dazu, warum sie gegenüber Bind-Mountsbevorzugt werden, finden Sie in der Docker-Dokumentation: Volumes.
Hinzufügen einer Garnet-Ressource mit Datenbindungs-Bereitstellung
Rufen Sie zum Hinzufügen einer Datenbindemontage zur Garnet-Ressource die WithDataBindMount-Methode auf.
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...
Wichtig
Daten Binden von Bereitstellungen mit eingeschränkter Funktionalität im Vergleich zu Volumes, die eine bessere Leistung, Portabilität und Sicherheit bieten, wodurch sie für Produktionsumgebungen besser geeignet sind. Bind-Mounts ermöglichen jedoch direkten Zugriff und die Bearbeitung von Dateien auf dem Hostsystem und sind ideal für Entwicklung und Tests, bei denen Echtzeitänderungen erforderlich sind.
Datenbindungs-Bereitstellungen basieren auf dem Dateisystem des Hostcomputers, um die Garnet-Daten über Containerneustarts hinweg zu speichern. Der Datenbindemount wird im Garnet-Container auf dem Windows-Pfad C:\Garnet\Data
(oder auf dem Pfad /Garnet/Data
auf Unix) des Hostcomputers bereitgestellt. Weitere Informationen zu Datenbind-Mounts finden Sie in der Docker Dokumentation: Bindmounts.
Hinzufügen einer Garnetressource mit Persistenz
Um der Garnet-Ressource Persistenz hinzuzufügen, rufen Sie die WithPersistence-Methode entweder mit dem Datenvolume oder dem Datenbindungs-Mount auf:
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...
Der vorangehende Code fügt der Redis-Ressource Persistenz hinzu, indem Snapshots der Garnet-Daten in festgelegten Intervallen und beim Überschreiten bestimmter Schwellen erstellt werden. Die interval
ist die Zeit zwischen Schnappschuss-Exporten und keysChangedThreshold
ist die Anzahl der Schlüsseländerungsoperationen, die zum Auslösen einer Momentaufnahme erforderlich sind. Weitere Informationen zur Persistenz finden Sie in den Redis Dokumenten: Persistenz.
Die Valkey-Hostingintegration modelliert eine Valkey-Ressource vom Typ ValkeyResource. Um auf diesen Typ und diese APIs zuzugreifen, mit denen Sie ihn zu Ihrem 📦Aspire.Hosting.Valkey NuGet-Paket im Projekt des App-Hosts hinzufügen können.
dotnet add package Aspire.Hosting.Valkey
Weitere Informationen finden Sie unter dotnet add package oder Verwalten der Paketabhängigkeiten in .NET Anwendungen.
Valkey-Ressource hinzufügen
Rufen Sie in Ihrem App-Host-Projekt AddValkey an der builder
-Instanz auf, damit eine Valkey-Ressource hinzugefügt wird.
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddValkey("cache");
builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
// After adding all resources, run the app...
Wenn .NET.NET Aspire dem App-Host ein Containerimage hinzufügt, wie im vorherigen Beispiel mit dem docker.io/valkey/valkey
-Image gezeigt, wird eine neue Valkey-Instanz auf dem lokalen Computer erstellt. Ein Verweis auf Ihre Valkey-Ressource (die cache
Variable) wird zu ExampleProject
hinzugefügt.
Die WithReference-Methode konfiguriert eine Verbindung im ExampleProject
namens "cache"
. Weitere Informationen finden Sie im Abschnitt Lebenszyklus von Containerressourcen.
Tipp
Wenn Sie lieber eine Verbindung mit einer vorhandenen Valkey-Instanz herstellen möchten, rufen Sie stattdessen AddConnectionString auf. Weitere Informationen finden Sie unter Referenzieren vorhandener Ressourcen.
Hinzufügen einer Valkey-Ressource mit Datenvolume
Um der Valkey-Ressource ein Datenvolume hinzuzufügen, rufen Sie die AddValkey-Methode für die Valkey-Ressource auf:
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...
Das Datenvolume wird verwendet, um die Valkey-Daten außerhalb des Lebenszyklus des Containers zu speichern. Das Datenvolumen wird am /data
-Pfad im Valkey-Container bereitgestellt, und wenn kein name
-Parameter angegeben wird, wird der Name zufällig generiert. Weitere Informationen zu Datenvolumes und Details dazu, warum sie gegenüber Bind-Mountsbevorzugt werden, finden Sie in der Docker-Dokumentation: Volumes.
Hinzufügen einer Valkey-Ressource mit Datenbindungs-Bereitstellung
Rufen Sie die WithDataBindMount-Methode auf, um der Valkey-Ressource eine Datenbindungs-Bereitstellung hinzuzufügen:
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...
Wichtig
Daten-Bind-Mounts haben eingeschränkte Funktionalität im Vergleich zu Volumes, die bessere Leistung, Portabilität und Sicherheit bieten und sie somit für Produktionsumgebungen besser geeignet machen. Bind-Mounts erlauben jedoch direkten Zugriff und das Ändern von Dateien auf dem Hostsystem und sind ideal für die Entwicklung und Tests, bei denen Änderungen in Echtzeit erforderlich sind.
Data-Bind-Mounts basieren auf dem Dateisystem des Hostcomputers, um die Persistenz der Valkey-Daten bei Neustarts der Container zu gewährleisten. Die Datenbindungsbereitstellung wird auf dem C:\Valkey\Data
unter Windows (oder /Valkey/Data
auf Unix) auf dem Hostcomputer im Valkey-Container bereitgestellt. Weitere Informationen zu Daten-Bind-Mounts finden Sie in den Docker Docs: Bind Mounts.
Hinzufügen einer Valkey-Ressource mit Persistenz
Rufen Sie zum Hinzufügen der Persistenz zur Valkey-Ressource die WithPersistence-Methode entweder mit dem Datenvolume oder dem Datenbindungs-Mount auf:
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...
Der vorhergehende Code fügt der Redis Resource Persistenz hinzu, indem Momentaufnahmen der Valkey-Daten in einem angegebenen Intervall und Schwellenwert aufgenommen werden. Die interval
ist die Zeitspanne zwischen den Snapshot-Exporten, und die keysChangedThreshold
ist die Anzahl der Schlüsseländerungen, die erforderlich sind, um eine Momentaufnahme auszulösen. Weitere Informationen zur Persistenz finden Sie unter Redis Docs: Persistenz.
Hosten von Integritätsprüfungen für Integration
Die Redis Hostingintegration fügt automatisch eine Integritätsprüfung für den entsprechenden Ressourcentyp hinzu. Die Integritätsprüfung überprüft, ob die server in Betrieb ist und ob eine Verbindung hergestellt werden kann.
Die Hostingintegration basiert auf den 📦 AspNetCore.HealthChecks.Redis NuGet-Pakete.
Client Integration
Um mit der integration von .NET Aspire Stack Exchange Redisclient zu beginnen, installieren Sie die 📦Aspire. StackExchange.Redis NuGet-Paket im projekt client-verbrauchend, d. h. das Projekt für die Anwendung, die die Redisclientverwendet. Die Redisclient-Integration registriert eine IConnectionMultiplexer Instanz, die Sie für die Interaktion mit Redisverwenden können.
dotnet add package Aspire.StackExchange.Redis
Hinzufügen von Redisclient
Rufen Sie in der Program.cs-Datei Ihres client-verbrauchenden Projekts die AddRedisClient-Erweiterungsmethode bei einem beliebigen IHostApplicationBuilder auf, um eine IConnectionMultiplexer
für die Verwendung über den Dependency-Injection-Container zu registrieren. Die Methode verwendet einen Verbindungsnamenparameter.
builder.AddRedisClient(connectionName: "cache");
Trinkgeld
Der parameter connectionName
muss mit dem Namen übereinstimmen, der beim Hinzufügen der Redis-Ressource im App-Hostprojekt verwendet wird. Weitere Informationen finden Sie unter Hinzufügen Redis Ressource.
Tipp
Der parameter connectionName
muss mit dem Namen übereinstimmen, der beim Hinzufügen der Garnet-Ressource im App-Hostprojekt verwendet wird. Weitere Informationen finden Sie unter Hinzufügen einer Garnetressource.
Trinkgeld
Der parameter connectionName
muss mit dem Namen übereinstimmen, der beim Hinzufügen der Valkey-Ressource im App-Hostprojekt verwendet wird. Weitere Informationen finden Sie unter Hinzufügen der Valkey-Ressource.
Anschließend können Sie die IConnection
-Instanz mithilfe der Dependency Injection abrufen. So rufen Sie beispielsweise die Verbindung aus einem Beispieldienst ab:
public class ExampleService(IConnectionMultiplexer connectionMux)
{
// Use connection multiplexer...
}
Weitere Informationen zur Abhängigkeitsinjektion finden Sie unter .NET Abhängigkeitsinjektion.
Hinzufügen von verschlüsselt Redisclient
Es kann Situationen geben, in denen Sie mehrere IConnectionMultiplexer
Instanzen mit unterschiedlichen Verbindungsnamen registrieren möchten. Um "keyed Redis"-Clients zu registrieren, rufen Sie die AddKeyedRedisClient-Methode auf.
builder.AddKeyedRedisClient(name: "chat");
builder.AddKeyedRedisClient(name: "queue");
Anschließend können Sie die IConnectionMultiplexer
Instanzen mithilfe der Abhängigkeitseinfügung abrufen. So rufen Sie beispielsweise die Verbindung aus einem Beispieldienst ab:
public class ExampleService(
[FromKeyedServices("chat")] IConnectionMultiplexer chatConnectionMux,
[FromKeyedServices("queue")] IConnectionMultiplexer queueConnectionMux)
{
// Use connections...
}
Weitere Informationen zu schlüsselbasierten Diensten finden Sie unter .NET Abhängigkeitsinjektion: schlüsselbasierte Dienste.
Konfiguration
Die .NET Aspire Stack Exchange Redisclient Integration bietet mehrere Optionen zum Konfigurieren der Redis Verbindung basierend auf den Anforderungen und Konventionen Ihres Projekts.
Verwenden Sie eine Verbindungszeichenfolge
Wenn Sie eine Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings
verwenden, können Sie beim Aufrufen von AddRedisden Namen der Verbindungszeichenfolge angeben:
builder.AddRedis("cache");
Wenn Sie eine Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings
verwenden, können Sie beim Aufrufen von AddGarnetden Namen der Verbindungszeichenfolge angeben:
builder.AddGarnet("cache");
Wenn Sie eine Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings
verwenden, können Sie beim Aufrufen von AddValkeyden Namen der Verbindungszeichenfolge angeben:
builder.AddValkey("cache");
Anschließend wird die Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings
abgerufen:
{
"ConnectionStrings": {
"cache": "localhost:6379"
}
}
Weitere Informationen zum Formatieren dieser Verbindungszeichenfolge finden Sie in der Stack Exchange Redis-Konfigurationsdokumentation.
Verwenden von Konfigurationsanbietern
Die .NET Aspire Stack Exchange Redis Integration unterstützt Microsoft.Extensions.Configuration. Es lädt die StackExchangeRedisSettings aus der Konfiguration mithilfe des Aspire:StackExchange:Redis
Schlüssels. Beispiel appsettings.json, das einige der Optionen konfiguriert:
{
"Aspire": {
"StackExchange": {
"Redis": {
"ConnectionString": "localhost:6379",
"DisableHealthChecks": true,
"DisableTracing": false
}
}
}
}
Das vollständige Redisclient Integration JSON Schema finden Sie unter Aspire.StackExchange.Redis/ConfigurationSchema.json.
Verwenden von Inline-Delegaten
Sie können auch den Action<StackExchangeRedisSettings>
Delegat übergeben, um einige oder alle Optionen inline einzurichten, z. B. zum Konfigurieren von DisableTracing
:
builder.AddRedisClient(
"cache",
static settings => settings.DisableTracing = true);
Client Integrations-Gesundheitschecks
Standardmäßig aktivieren .NET.NET Aspire Integrationen Integritätsprüfungen für alle Dienste. Weitere Informationen finden Sie unter .NET.NET Aspire Integrationsübersicht.
Die .NET Aspire Stack Exchange Redis Integration behandelt Folgendes:
- Fügt die Integritätsprüfung hinzu, wenn StackExchangeRedisSettings.DisableHealthChecks
false
ist und versucht, eine Verbindung mit der Containerinstanz herzustellen. - Integriert in den
/health
HTTP-Endpunkt, der angibt, dass alle registrierten Gesundheitsprüfungen bestehen müssen, damit die App als bereit gilt, Datenverkehr zu akzeptieren.
Observability und Telemetrie
.NET .NET Aspire Integrationen richten automatisch Protokollierungs-, Tracing- und Metrikkonfigurationen ein, die manchmal als die Säulen der Observabilitybezeichnet werden. Weitere Informationen zur Integrations-Obervabilität und Telemetrie finden Sie unter .NET.NET Aspire Übersicht über Integrationen. Abhängig vom unterstützenden Dienst unterstützen manche Integrationen möglicherweise nur einige dieser Features. Beispielsweise unterstützen einige Integrationen Protokollierung und Ablaufverfolgung, aber keine Metriken. Telemetrie-Funktionen können auch mithilfe der Techniken deaktiviert werden, die im Abschnitt Konfiguration beschrieben sind.
Protokollierung
Die .NET Aspire Stack Exchange Redis Integration verwendet die folgenden Protokollkategorien:
Aspire.StackExchange.Redis
Nachverfolgung
Die .NET Aspire Stack Exchange Redis Integration wird die folgenden Tracing-Aktivitäten mithilfe von OpenTelemetryausgeben:
OpenTelemetry.Instrumentation.StackExchangeRedis
Kennzahlen
Die .NET Aspire Stack Exchange Redis-Integration unterstützt derzeit Metriken aufgrund von Einschränkungen der StackExchange.Redis
-Bibliothek nicht.
Azure Redis Hostingintegration
Um Ihre Redis-Ressourcen auf Azurebereitzustellen, installieren Sie das NuGet-Paket 📦Aspire.Hosting.Azure.Redis:
dotnet add package Aspire.Hosting.Azure.Redis
Azure Cache for Redis server Ressource hinzufügen
Nach der Installation des .NET Aspire Hosting-AzureRedis Pakets, rufen Sie die AddAzureRedis
Erweiterungsmethode in Ihrem Anwendungs-Hostprojekt auf:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddAzureRedis("azcache")
var exampleProject = builder.AddProject<Projects.ExampleProject>()
.WithReference(cache);
Der vorherige Aufruf von AddAzureRedis
konfiguriert die Redisserver Ressource, die als Azure Cache for Redisbereitgestellt werden soll.
Wichtig
Standardmäßig konfiguriert AddAzureRedis
Microsoft Entra ID Authentifizierung. Dies erfordert Änderungen an Anwendungen, die eine Verbindung mit diesen Ressourcen herstellen müssen, z. B. bei client-Integrationen.
Hinzufügen von Azure Cache for Redisclient
Wenn Sie AddAzureRedis
in Ihrer Redis Hostingintegration aufrufen, wird standardmäßig 📦 Microsoft konfiguriert.Azure. StackExchangeRedis NuGet-Paket zum Aktivieren der Authentifizierung:
dotnet add package Microsoft.Azure.StackExchangeRedis
Die Redis-Verknüpfung kann mithilfe der client-Integration und Microsoft.Azure.StackExchangeRedis
genutzt werden. Berücksichtigen Sie den folgenden Konfigurationscode:
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.AddRedisClient("cache", configureOptions: options =>
{
options.Defaults = configurationOptions.Defaults;
});
Weitere Informationen finden Sie im Microsoft.Azure.StackExchangeRedis Repository.
Siehe auch
*: Redis ist eine eingetragene Marke der Redis Ltd. Alle dort enthaltenen Rechte sind Redis Ltd. vorbehalten. Jede Verwendung von Microsoft dient nur zu referenziellen Zwecken und gibt keine Unterstützung, Bestätigung oder Zugehörigkeit zwischen Redis und Microsoft an. Zum anfangzurückkehren?