Dela via


Stöd för Spring Cloud Azure Redis

I den här artikeln beskrivs hur du kan använda Spring Cloud Azure och Spring Data Redis tillsammans och ange olika typer av autentiseringsuppgifter för autentisering till Azure Cache for Redis.

Azure Cache for Redis tillhandahåller ett minnesinternt datalager baserat på Redis-programvaran. Redis förbättrar prestanda och skalbarhet för ett program som använder serverdelsdatalager kraftigt.

Redis-versioner som stöds

För versioner som stöds, se Aktuella versioner.

Kärnfunktioner

Lösenordslös anslutning

Lösenordsfri anslutning använder Microsoft Entra-autentisering för att ansluta till Azure-tjänster utan att lagra några autentiseringsuppgifter i programmet, dess konfigurationsfiler eller i miljövariabler. Microsoft Entra-autentisering är en mekanism för att ansluta till Azure Cache for Redis med hjälp av identiteter som definierats i Microsoft Entra-ID. Med Microsoft Entra-autentisering kan du hantera cacheidentiteter och andra Microsoft-tjänster på en central plats, vilket förenklar behörighetshanteringen.

Så här fungerar det

Spring Cloud Azure skapar först en av följande typer av autentiseringsuppgifter beroende på konfigurationen för programautentisering:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Om ingen av dessa typer av autentiseringsuppgifter hittas används autentiseringskedjan via DefaultTokenCredential för att hämta autentiseringsuppgifter från programegenskaper, miljövariabler, hanterad identitet eller IDE:er. Mer information finns i Spring Cloud Azure-autentisering.

Konfiguration

Konfigurerbara egenskaper när du använder Stöd för Redis:

Egenskap Beskrivning Standardvärde Krävs
spring.cloud.azure.redis.enabled Om en Azure Cache for Redis är aktiverad. sann Nej
spring.cloud.azure.redis.name Azure Cache for Redis-instansnamn. Ja
spring.cloud.azure.redis.resource.resource-group Resursgruppen för Azure Cache for Redis. Ja
spring.cloud.azure.profile.subscription-id Prenumerations-ID:t. Ja
spring.data.redis.azure.passwordless-enabled Om du vill aktivera lösenordslös för Azure Cache for Redis. falsk Nej

Grundläggande användning

I följande avsnitt visas de klassiska Användningsscenarierna för Spring Boot-program.

Ansluta till Azure Cache for Redis med lösenordslös

  1. Lägg till följande beroende i projektet. Den här konfigurationen spring-boot-starter inkluderar automatiskt beroendet i projektet transitivt.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    

    Not

    Kom ihåg att lägga till spring-cloud-azure-dependencies strukturlistan tillsammans med det här beroendet. Mer information finns i avsnittet Komma igång i Spring Cloud Azure-utvecklarguide.

  2. Konfigurera följande egenskaper i din application.yml-fil:

    spring:
      data:
        redis:
          host: ${AZURE_CACHE_REDIS_HOST}
          username: ${AZURE_CACHE_REDIS_USERNAME}
          port: 6380
          ssl:
            enabled: true
          azure:
            passwordless-enabled: true
    

    Viktig

    Lösenordslös anslutning använder Microsoft Entra-autentisering. Om du vill använda Microsoft Entra-autentisering bör du aktivera Microsoft Entra-autentisering och välja user(managed identity/service principal) för att tilldela Data Owner Access Policy.

    Mer information och för att hämta värdet för usernamefinns i avsnittet Aktivera Microsoft Entra-ID-autentisering i cachen i Använda Microsoft Entra-ID för cacheautentisering.

Ansluta till Azure Cache for Redis med hanterad identitet

  1. Om du vill använda den hanterade identiteten behöver du aktivera den hanterade identiteten för din tjänst och aktivera Microsoft Entra-autentisering i cacheminnet.

  2. Lägg sedan till följande egenskaper i filen application.yml:

    spring:
      cloud:
        azure:
          credential:
            managed-identity-enabled: true
    

    Viktig

    redis.username ska ändras till det hanterade identitetsobjektets (huvudnamn) ID.

    Om du använder användartilldelad hanterad identitet måste du också lägga till egenskapen spring.cloud.azure.credential.client-id med ditt användartilldelade klient-ID för hanterad identitet.

Ansluta till Azure Cache for Redis via Azure Resource Manager

Använd följande steg för att ansluta till Azure Cache for Redis:

  1. Lägg till följande beroende i projektet. Den här konfigurationen spring-boot-starter inkluderar automatiskt beroendet i projektet transitivt.

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-resourcemanager</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    

    Not

    Kom ihåg att lägga till spring-cloud-azure-dependencies strukturlistan tillsammans med det här beroendet. Mer information finns i avsnittet Komma igång i Spring Cloud Azure-utvecklarguide.

  1. Konfigurera följande egenskaper i din application.yml-fil:

    spring:
      cloud:
        azure:
          profile:
            subscription-id: ${AZURE_SUBSCRIPTION_ID}
          redis:
            name: ${AZURE_CACHE_REDIS_NAME}
            resource:
              resource-group: ${AZURE_RESOURCE_GROUP}
    

Prover

Se azure-spring-boot-samples-lagringsplatsen på GitHub.