Delen via


Gedistibueerde caching integratie .NET AspireRedis*®

Omvat:hostingintegratie en Client integratie

Leer hoe je de .NET AspireRedis integratie van gedistribueerde caching kunt gebruiken. De Aspire.StackExchange.Redis.DistributedCaching-bibliotheek wordt gebruikt om een IDistributedCache-provider te registreren die wordt ondersteund door een Redisserver met de docker.io/library/redis container-image.

Leer hoe je de .NET AspireRedis integratie van gedistribueerde caching kunt gebruiken. De Aspire.StackExchange.Redis.DistributedCaching-bibliotheek wordt gebruikt om een IDistributedCache--provider te registreren die wordt ondersteund door een Garnet-server met de ghcr.io/microsoft/garnet containerimage.

Leer hoe u de gedistribueerde caching-integratie van .NET AspireRedis kunt gebruiken. De Aspire.StackExchange.Redis.DistributedCaching-bibliotheek wordt gebruikt om een IDistributedCache-provider te registreren die wordt ondersteund door een Valkeyserver met de docker.io/valkey/valkey containerimage.

Hostingintegratie

De Redis hostintegratie modelleert een Redis-resource als de RedisResource-type. Voor toegang krijgen tot dit type en de API's die u in staat stellen het toe te voegen aan uw 📦Aspire.Hosting.Redis NuGet-pakket in het app-hostproject.

dotnet add package Aspire.Hosting.Redis

Zie dotnet pakket toevoegen of Pakketafhankelijkheden beheren in .NET toepassingenvoor meer informatie.

Redis-resource toevoegen

Roep in uw app-hostproject AddRedis aan op het builder exemplaar om een Redis resource toe te voegen:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(cache);

// After adding all resources, run the app...

Wanneer .NET.NET Aspire een containerinstallatiekopie toevoegt aan de app-host, zoals wordt weergegeven in het vorige voorbeeld met de docker.io/Redis/Redis-installatiekopie, wordt er een nieuw Redis exemplaar op uw lokale computer gemaakt. Er wordt een verwijzing naar uw Redis resource (de variabele cache) toegevoegd aan de ExampleProject.

De methode WithReference configureert een verbinding in de ExampleProject met de naam "cache". Zie levenscyclus van containerresourcesvoor meer informatie.

Tip

Als u liever verbinding wilt maken met een bestaand Redis exemplaar, roept u in plaats daarvan AddConnectionString aan. Zie Bestaande resourcesraadplegen voor meer informatie.

Redis resource toevoegen met Redis Insights

Als u de Redis Insights- wilt toevoegen aan de Redis-resource, roept u de methode WithRedisInsight aan:

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 is een gratis grafische interface voor het analyseren van Redis gegevens in alle besturingssystemen en Redis implementaties met behulp van onze AI-assistent, Redis Copilot. .NET .NET Aspire voegt een andere containerafbeelding docker.io/redis/redisinsight toe aan de app-host waarop de commander-app wordt uitgevoerd.

Notitie

Om de hostpoort voor de RedisInsightResource-keten in te stellen, doe een aanroep naar de WithHostPort-API en geef het gewenste poortnummer op.

Redis resource toevoegen met Redis Commander

Als u de Redis Commander- wilt toevoegen aan de Redis-resource, roept u de WithRedisCommander-methode aan:

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 is een Node.js webtoepassing die wordt gebruikt voor het weergeven, bewerken en beheren van een Redis Database. .NET .NET Aspire voegt een andere containerimage docker.io/rediscommander/redis-commander toe aan de app-host die de commander-app uitvoert.

Fooi

Om de hostpoort voor de RedisCommanderResource-keten te configureren, doet u een aanroep naar de WithHostPort-API en geeft u het gewenste poortnummer op.

Redis resource toevoegen met gegevensvolume

Als u een gegevensvolume wilt toevoegen aan de Redis-resource, roept u de methode WithDataVolume aan voor de Redis resource:

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...

Het gegevensvolume wordt gebruikt om de Redis gegevens buiten de levenscyclus van de container te behouden. Het gegevensvolume wordt gekoppeld aan het /data pad in de Redis container en wanneer er geen name parameter wordt opgegeven, wordt de naam willekeurig gegenereerd. Zie Docker docs: Volumes, voor meer informatie over gegevensvolumes en waarom deze de voorkeur genieten boven bind mounts ,.

Redis resource toevoegen met koppeling voor gegevensbinding

Als u een koppeling voor gegevensbinding wilt toevoegen aan de Redis-resource, roept u de WithDataBindMount methode aan:

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...

Belangrijk

Gegevens bind mounts hebben beperkte functionaliteit vergeleken met volumes, die betere prestaties, draagbaarheid en beveiliging bieden, waardoor ze geschikter zijn voor productie-omgevingen. Bind mounts bieden echter directe toegang tot en wijziging van bestanden op het hostsysteem, ideaal voor ontwikkeling en testen waarbij realtime wijzigingen nodig zijn.

Gegevenskoppelingen vertrouwen op het bestandssysteem van de hostcomputer om de Redis gegevens te behouden bij het herstarten van de container. De koppeling voor gegevensbinding wordt gekoppeld aan de C:\Redis\Data in Windows (of /Redis/Data op Unix) op de hostcomputer in de Redis container. Zie Docker docs: Bindingskoppelingenvoor meer informatie over koppelingskoppelingen voor gegevens.

Redis-resource toevoegen met persistent gedrag

Als u persistentie wilt toevoegen aan de Redis-resource, roept u de methode WithPersistence aan met het gegevensvolume of de koppeling voor gegevensbinding:

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...

De voorgaande code voegt persistentie toe aan de Redis resource door momentopnamen te maken van de Redis gegevens met een opgegeven interval en drempelwaarde. De interval is tijd tussen momentopnameexports en de keysChangedThreshold is het aantal belangrijke wijzigingsbewerkingen dat nodig is om een momentopname te activeren. Zie Redis docs: Persistentievoor meer informatie over persistentie.

De Garnet-hostingintegratie modelleert een Garnet-resource als het GarnetResource-type. Voor toegang tot dit type en de API's, waarmee je het kunt toevoegen aan je 📦Aspire.Hosting.Garnet NuGet-pakket in het app-hostproject.

dotnet add package Aspire.Hosting.Garnet

Zie dotnet pakket toevoegen of Pakketafhankelijkheden beheren in .NET toepassingenvoor meer informatie.

Garnet-resource toevoegen

Roep in uw app-hostproject AddGarnet aan op het builder exemplaar om een Garnet-resource toe te voegen:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddGarnet("cache");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(cache);

// After adding all resources, run the app...

Wanneer .NET.NET Aspire een containerinstallatiekopie toevoegt aan de app-host, zoals wordt weergegeven in het vorige voorbeeld met de ghcr.io/microsoft/garnet-installatiekopie, wordt er een nieuw Garnet-exemplaar op uw lokale computer gemaakt. Er wordt een verwijzing naar uw Garnet-resource (de cache variabele) toegevoegd aan de ExampleProject.

De methode WithReference configureert een verbinding in de ExampleProject met de naam "cache". Zie levenscyclus van containerresourcesvoor meer informatie.

Tip

Als u liever verbinding wilt maken met een bestaand Garnet-exemplaar, roept u in plaats daarvan AddConnectionString aan. Zie voor meer informatie Bestaande bronnen.

Garnet-resource toevoegen met gegevensvolume

Als u een gegevensvolume wilt toevoegen aan de Garnet-resource, roept u de AddGarnet methode aan op de Garnet-resource:

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...

Het gegevensvolume wordt gebruikt om de Garnet-gegevens buiten de levenscyclus van de container te behouden. Het gegevensvolume wordt gekoppeld aan het /data pad in de Garnet-container en wanneer er geen name parameter wordt opgegeven, wordt de naam willekeurig gegenereerd. Voor meer informatie over gegevensvolumes en specifieke redenen waarom ze de voorkeur genieten boven 'bind mounts', zie Docker docs: Volumes.

Garnet-resource toevoegen met koppeling van gegevensbinding

Als u een koppeling voor gegevensbinding wilt toevoegen aan de Garnet-resource, roept u de WithDataBindMount-methode aan:

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...

Belangrijk

Gegevens bind mounts hebben beperkte functionaliteit in vergelijking met volumes, die betere prestaties, draagbaarheid en beveiliging bieden, en waardoor ze geschikter zijn voor productieomgevingen. Bind mounts bieden echter directe toegang tot en wijziging van bestanden op het hostsysteem, ideaal voor ontwikkeling en testwerkzaamheden waar realtime wijzigingen nodig zijn.

Koppelen van gegevensbindingen zijn afhankelijk van het bestandssysteem van de hostcomputer om de Garnet-gegevens bij het opnieuw opstarten van de container te behouden. De koppeling voor gegevensbinding wordt gekoppeld aan de C:\Garnet\Data in Windows (of /Garnet/Data op Unix) op de hostcomputer in de Garnet-container. Zie Docker docs: Bindingskoppelingenvoor meer informatie over koppelingskoppelingen voor gegevens.

Garnet-resource toevoegen met persistentie

Als u persistentie wilt toevoegen aan de Garnet-resource, roept u de WithPersistence-methode aan met het gegevensvolume of de koppeling voor gegevensbinding:

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...

De voorgaande code voegt persistentie toe aan de Redis resource door momentopnamen van de Garnet-gegevens met een opgegeven interval en drempelwaarde te maken. De interval is tijd tussen momentopnameexports en de keysChangedThreshold is het aantal belangrijke wijzigingsbewerkingen dat nodig is om een momentopname te activeren. Zie Redis docs: Persistentievoor meer informatie over persistentie.

De hostingintegratie van Valkey modelleert een Valkey-resource als het ValkeyResource-type. Voor toegang tot dit type en tot de API's waarmee u het kunt toevoegen aan uw 📦Aspire.Hosting.Valkey NuGet-pakket in het applicatiehostproject.

dotnet add package Aspire.Hosting.Valkey

Zie dotnet pakket toevoegen of Pakketafhankelijkheden beheren in .NET toepassingenvoor meer informatie.

Valkey-resource toevoegen

Roep in uw app-hostproject AddValkey aan op het builder-exemplaar om een Valkey-resource toe te voegen:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddValkey("cache");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(cache);

// After adding all resources, run the app...

Wanneer .NET.NET Aspire een containerinstallatiekopie toevoegt aan de app-host, zoals wordt weergegeven in het vorige voorbeeld met de docker.io/valkey/valkey-installatiekopie, wordt er een nieuw Valkey-exemplaar gemaakt op uw lokale computer. Er wordt een verwijzing naar uw Valkey-resource (de cache variabele) toegevoegd aan de ExampleProject.

De methode WithReference configureert een verbinding in de ExampleProject met de naam "cache". Zie levenscyclus van containerresourcesvoor meer informatie.

Tip

Als u liever verbinding maakt met een bestaand Valkey-exemplaar, roept u in plaats daarvan AddConnectionString aan. Raadpleeg Bestaande bronnenvoor meer informatie.

Valkey-resource toevoegen met gegevensvolume

Als u een gegevensvolume wilt toevoegen aan de Valkey-resource, roept u de AddValkey methode aan op de Valkey-resource:

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...

Het gegevensvolume wordt gebruikt om de Valkey-gegevens buiten de levenscyclus van de container te behouden. Het gegevensvolume wordt gekoppeld aan het /data pad in de Valkey-container en wanneer er geen name parameter wordt opgegeven, wordt de naam willekeurig gegenereerd. Zie Docker docs: Volumesvoor meer informatie over gegevensvolumes en details over waarom ze de voorkeur hebben boven bindingskoppelingen.

Valkey-resource toevoegen met koppeling voor gegevensbinding

Als u een koppeling voor gegevensbinding wilt toevoegen aan de Valkey-resource, roept u de WithDataBindMount methode aan:

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...

Belangrijk

Gegevens-bindmounts hebben beperkte functionaliteit in vergelijking met volumes, die betere prestaties, draagbaarheid en beveiliging bieden, waardoor ze geschikter zijn voor productieomgevingen. Bind mounts bieden echter directe toegang tot en het wijzigen van bestanden op het hostsysteem, wat ideaal is voor ontwikkeling en testen waarbij realtime veranderingen nodig zijn.

Databindingsmontages zijn afhankelijk van het bestandssysteem van de hostmachine om de Valkey-gegevens te bewaren over containerherstarts. De koppeling voor gegevensbinding wordt gekoppeld aan de C:\Valkey\Data in Windows (of /Valkey/Data op Unix) op de hostcomputer in de Valkey-container. Zie Docker docs: Bindingskoppelingenvoor meer informatie over koppelingskoppelingen voor gegevens.

Valkey-resource toevoegen met persistentie

Als u persistentie wilt toevoegen aan de Valkey-resource, roept u de methode WithPersistence aan met het gegevensvolume of de koppeling voor gegevensbinding:

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...

De voorgaande code voegt persistentie toe aan de Redis resource door momentopnamen van de Valkey-gegevens te maken met een opgegeven interval en drempelwaarde. De interval is tijd tussen momentopnameexports en de keysChangedThreshold is het aantal belangrijke wijzigingsbewerkingen dat nodig is om een momentopname te activeren. Zie Redis docs: Persistentievoor meer informatie over persistentie.

Gezondheidsonderzoeken voor hostingintegratie

De Redis hostingintegratie voegt automatisch een statuscontrole toe voor het juiste resourcetype. De statuscontrole verifieert of server draait en of er een verbinding kan worden gemaakt.

De hostingintegratie is afhankelijk van de 📦 AspNetCore.HealthChecks.Redis NuGet-pakket.

integratie van Client

Installeer de 📦Aspireom aan de slag te gaan met de .NET AspireRedis gedistribueerde cacheintegratie. StackExchange.Redis. DistributedCaching NuGet-pakket in het client-verbruikende project, d.w.: het project voor de toepassing die gebruikmaakt van de Redis gedistribueerde caching-client.

dotnet add package Aspire.StackExchange.Redis.DistributedCaching

Redis client toevoegen

Roep in het Program.cs bestand van uw clientverbruikende project de AddRedisDistributedCache-extensie aan om de vereiste services voor gedistribueerde caching te registreren en een IDistributedCache toe te voegen voor gebruik via de container voor afhankelijkheidsinjectie.

builder.AddRedisDistributedCache(connectionName: "cache");

Tip

De parameter connectionName moet overeenkomen met de naam die wordt gebruikt bij het toevoegen van de Redis resource in het app-hostproject. Zie voor meer informatie Redis bron toevoegen.

Fooi

De parameter connectionName moet overeenkomen met de naam die wordt gebruikt bij het toevoegen van de Garnet-resource in het app-hostproject. Zie Garnet-resource toevoegenvoor meer informatie.

Tip

De parameter connectionName moet overeenkomen met de naam die wordt gebruikt bij het toevoegen van de Valkey-resource in het hostproject van de app. Zie Valkey-resource toevoegenvoor meer informatie.

Vervolgens kunt u het IDistributedCache exemplaar ophalen met behulp van afhankelijkheidsinjectie. Bijvoorbeeld om de cache op te halen uit een service:

public class ExampleService(IDistributedCache cache)
{
    // Use cache...
}

Voor meer informatie over afhankelijkheidsinjectie, zie .NET afhankelijkheidsinjectie.

Sleutel-Redisclient toevoegen

Er kunnen situaties zijn waarin u meerdere IDistributedCache exemplaren met verschillende verbindingsnamen wilt registreren. Als u keyed Redis-clients wilt registreren, roept u de methode AddKeyedRedisDistributedCache aan:

builder.AddKeyedRedisDistributedCache(name: "chat");
builder.AddKeyedRedisDistributedCache(name: "product");

Vervolgens kunt u de IDistributedCache voorbeelden ophalen met behulp van afhankelijkheidsinjectie. Als u bijvoorbeeld de verbinding wilt ophalen uit een voorbeeldservice:

public class ExampleService(
    [FromKeyedServices("chat")] IDistributedCache chatCache,
    [FromKeyedServices("product")] IDistributedCache productCache)
{
    // Use caches...
}

Voor meer informatie over sleutelservices, zie .NET afhankelijkheidsinjectie: Keyed Services.

Configuratie

De .NET AspireRedis integratie van gedistribueerde caching biedt meerdere opties voor het configureren van de Redis verbinding op basis van de vereisten en conventies van uw project.

Een verbindingsreeks gebruiken

Wanneer u een verbindingsreeks uit de sectie ConnectionStrings configuratie gebruikt, kunt u de naam van de verbindingsreeks opgeven bij het aanroepen van builder.AddRedisDistributedCache:

builder.AddRedisDistributedCache("cache");

Vervolgens wordt de verbindingsreeks opgehaald uit de sectie ConnectionStrings configuratie:

{
  "ConnectionStrings": {
    "cache": "localhost:6379"
  }
}

Zie de Stack Exchange Redis-configuratiedocumentenvoor meer informatie over het opmaken van deze verbindingsreeks.

Configuratieproviders gebruiken

De integratie van .NET Aspire Stack Exchange Redis ondersteunt Microsoft.Extensions.Configuration. Het laadt de StackExchangeRedisSettings vanuit de configuratie met behulp van de Aspire:StackExchange:Redis-sleutel. Voorbeeld appsettings.json waarmee een aantal van de opties wordt geconfigureerd:

{
  "Aspire": {
    "StackExchange": {
      "Redis": {
        "ConnectionString": "localhost:6379",
        "DisableHealthChecks": true,
        "DisableTracing": false
      }
    }
  }
}

Zie Aspirevoor de volledige integratie van RedisclientJSON schema. StackExchange.Redis/ConfigurationSchema.json.

Inline gedelegeerden gebruiken

U kunt de Action<StackExchangeRedisSettings> delegate ook doorgeven om een deel van of alle opties direct in te stellen, bijvoorbeeld om DisableTracingte configureren.

builder.AddRedisDistributedCache(
    "cache",
    settings => settings.DisableTracing = true);

U kunt ook de ConfigurationOptions instellen met behulp van de gedelegeerde parameter Action<ConfigurationOptions> configureOptions van de methode AddRedisDistributedCache. U kunt bijvoorbeeld de time-out voor de verbinding instellen:

builder.AddRedisDistributedCache(
    "cache",
    static settings => settings.ConnectTimeout = 3_000);

Gezondheidscontroles

Standaard kunnen .NET.NET Aspire integraties statuscontroles voor alle services inschakelen. Zie .NET.NET Aspire overzicht van integratiesvoor meer informatie.

De .NET AspireRedis integratie van gedistribueerde caching verwerkt het volgende:

  • Voegt de StackExchange.Redis statuscontrole toe, probeert de verbinding te openen en geeft een foutmelding wanneer dit mislukt.
  • Integreert met het /health HTTP-eindpunt, waarbij alle geregistreerde gezondheidscontroles moeten slagen zodat de app wordt beschouwd als gereed om verkeer te accepteren.

Waarneembaarheid en telemetrie

.NET .NET Aspire integraties stellen automatisch configuraties in voor logboekregistratie, tracering en metrieken, die ook wel bekend staan als de pijlers van observability. Zie .NET.NET Aspire overzicht van integratieintegratiesvoor meer informatie over de waarneembaarheid en telemetrie van integraties. Afhankelijk van de back-upservice ondersteunen sommige integraties mogelijk slechts enkele van deze functies. Sommige integraties ondersteunen bijvoorbeeld logboekregistratie en tracering, maar geen metrische gegevens. Telemetriefuncties kunnen ook worden uitgeschakeld met behulp van de technieken die worden weergegeven in de sectie Configuratie.

Logboekregistratie

De integratie van gedistribueerde caching .NET AspireRedis maakt gebruik van de volgende logboekcategorieën:

  • Aspire.StackExchange.Redis
  • Microsoft.Extensions.Caching.StackExchangeRedis

Tracering

De integratie van gedistribueerde caching .NET AspireRedis zal de volgende traceringsactiviteiten genereren met behulp van OpenTelemetry:

  • OpenTelemetry.Instrumentation.StackExchangeRedis

Statistieken

De integratie van gedistribueerde caching .NET AspireRedis ondersteunt momenteel standaard geen metriek door beperkingen van de StackExchange.Redis-bibliotheek.

Azure Redis hosting-integratie

Als u uw Redis-resources naar Azurewilt implementeren, installeert u het 📦Aspire. Hosting.Azure.Redis NuGet-pakket:

dotnet add package Aspire.Hosting.Azure.Redis

Azure Cache for Redis server-resource toevoegen

Nadat u het .NET Aspire hostingpakket voor AzureRedis hebt geïnstalleerd, roept u de AddAzureRedis-extensiemethode aan in uw app-hostproject:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddAzureRedis("azcache")

var exampleProject = builder.AddProject<Projects.ExampleProject>()
                            .WithReference(cache);

Met de voorgaande aanroep voor AddAzureRedis configureert u de Redisserver resource die moet worden geïmplementeerd als een Azure Cache for Redis.

Belangrijk

Standaard configureert AddAzureRedisMicrosoft Entra ID authenticatie. Hiervoor zijn wijzigingen vereist in toepassingen die verbinding moeten maken met deze resources, bijvoorbeeld client integraties.

Voeg Azure Cache for Redis gedistribueerde client toe

Wanneer u AddAzureRedis aanroept in uw Redis hostingintegratie, wordt standaard 📦 Microsoft geconfigureerd.Azure. StackExchangeRedis NuGet-pakket om verificatie in te schakelen:

dotnet add package Microsoft.Azure.StackExchangeRedis

De Redis-verbinding kan worden gebruikt met behulp van de client-integratie en Microsoft.Azure.StackExchangeRedis. Houd rekening met de volgende configuratiecode:

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;
});

Voor meer informatie, zie de MicrosoftAzure.StackExchangeRedis repository.

Zie ook

*: Redis is een gedeponeerd handelsmerk van Redis Ltd. Alle rechten daarin zijn voorbehouden aan Redis Ltd. Elk gebruik door Microsoft is uitsluitend bedoeld voor referentiële doeleinden en geeft geen enkele sponsorship, goedkeuring of relatie tussen Redis en Microsoft aan. Terug naar de bovenste?