Delen via


Azure Redis Cache gebruiken in Spring

Azure Cache voor Redis biedt een gegevensarchief in het geheugen op basis van de Redis-software. Redis verbetert de prestaties en schaalbaarheid van een toepassing die intensief gebruikmaakt van back-endgegevensarchieven.

Deze zelfstudie laat zien hoe u een Redis-cache gebruikt om gegevens op te slaan en op te halen in een Spring Boot-toepassing.

In deze zelfstudie bevatten we twee verificatiemethoden: Microsoft Entra-verificatie en Redis-verificatie. Op het tabblad Wachtwoordloos ziet u de Microsoft Entra-verificatie en op het tabblad Wachtwoord wordt de Redis-verificatie weergegeven.

Microsoft Entra-verificatie is een mechanisme voor het maken van verbinding met Azure Cache voor Redis met behulp van identiteiten die zijn gedefinieerd in Microsoft Entra-id. Met Microsoft Entra-verificatie kunt u databasegebruikersidentiteiten en andere Microsoft-services op een centrale locatie beheren, waardoor het beheer van machtigingen wordt vereenvoudigd.

Redis-verificatie maakt gebruik van wachtwoorden in Redis. Als u ervoor kiest om wachtwoorden als referenties te gebruiken, moet u de wachtwoorden zelf beheren.

Vereisten

Gegevens in cache opslaan in Azure Cache voor Redis

Met een Azure Cache voor Redis-exemplaar kunt u gegevens in de cache opslaan met Spring Cloud Azure.

Als u de Spring Cloud Azure Starter Data Redis-module met Lettuce wilt installeren, voegt u de volgende afhankelijkheden toe aan uw pom.xml-bestand :

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

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>5.16.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Notitie

Deze stuklijst (Bill of Material) moet worden geconfigureerd in de <dependencyManagement> sectie van uw pom.xml-bestand . Deze configuratie zorgt ervoor dat alle Spring Cloud Azure-afhankelijkheden dezelfde versie gebruiken. Zie welke versie van Spring Cloud Azure moet ik gebruiken voor meer informatie over de versie die voor deze BOM wordt gebruikt.

De toepassing coderen

Als u een Redis-cache wilt gebruiken om gegevens op te slaan en op te halen, configureert u de toepassing met behulp van de volgende stappen:

  1. Configureer redis-cachereferenties in het configuratiebestand application.properties , zoals wordt weergegeven in het volgende voorbeeld.

    spring.data.redis.host=<your-redis-name>.redis.cache.windows.net
    spring.data.redis.port=6380
    spring.data.redis.username=<your-redis-username>
    spring.data.redis.ssl.enabled=true
    spring.data.redis.azure.passwordless-enabled=true
    

    Notitie

    Als u de waarde voor usernamewilt ophalen, volgt u de instructies in de sectie Microsoft Entra ID inschakelen in de sectie Microsoft Entra-id gebruiken voor cacheverificatie en kopieert u de gebruikersnaamwaarde.

  2. Bewerk het opstartklassebestand om de volgende inhoud weer te geven. Met deze code worden gegevens opgeslagen en opgehaald.

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.data.redis.core.ValueOperations;
    
    @SpringBootApplication
    public class DemoCacheApplication implements CommandLineRunner {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(DemoCacheApplication.class);
    
        @Autowired
        private StringRedisTemplate template;
    
        public static void main(String[] args) {
            SpringApplication.run(DemoCacheApplication.class, args);
        }
    
        @Override
        public void run(String... args) {
            ValueOperations<String, String> ops = this.template.opsForValue();
            String key = "testkey";
            if(!this.template.hasKey(key)){
                ops.set(key, "Hello World");
                LOGGER.info("Add a key is done");
            }
            LOGGER.info("Return the value from the cache: {}", ops.get(key));
        }
    
    }
    

Start vervolgens de toepassing. De toepassing haalt gegevens op uit uw Redis-cache. U ziet logboeken die vergelijkbaar zijn met het volgende voorbeeld:

Add a key is done
Return the value from the cache: Hello World

Implementeren in Azure Spring Apps

Nu de Spring Boot-toepassing lokaal wordt uitgevoerd, is het tijd om deze naar productie te verplaatsen. Met Azure Spring Apps kunt u Eenvoudig Spring Boot-toepassingen implementeren in Azure zonder codewijzigingen. De service beheert de infrastructuur van Spring-toepassingen, zodat ontwikkelaars zich kunnen richten op hun code. Azure Spring Apps biedt levenscyclusbeheer met uitgebreide bewaking en diagnose, configuratiebeheer, servicedetectie, CI/CD-integratie, blauwgroene implementaties en meer. Zie Uw eerste toepassing implementeren in Azure Spring Apps om uw toepassing te implementeren in Azure Spring Apps.

Volgende stappen

Voor meer informatie over Spring en Azure gaat u door naar het documentatiecentrum van Spring op Azure.