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 handleiding behandelen 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 beheren op een centrale locatie, wat het beheer van machtigingen vereenvoudigt.
Redis-verificatie maakt gebruik van wachtwoorden in Redis. Als u ervoor kiest om wachtwoorden als referenties te gebruiken, moet u de wachtwoorden zelf beheren.
Voorwaarden
Een Azure-abonnement - maak er gratis een aan.
Java Development Kit (JDK) versie 17 of hoger.
Apache Mavenversie 3.0 of hoger.
cURL- of een vergelijkbaar HTTP-hulpprogramma om de functionaliteit te testen.
Een Redis-cache-exemplaar. Als u er nog geen hebt, raadpleegt u Quickstart: Een opensource Redis-cache maken.
Een Spring Boot-toepassing. Als u er nog geen hebt, maakt u een Maven-project met de Spring Initializr-. Selecteer Maven-project en voeg onder afhankelijkhedende Spring Web- en Spring Data Reactive Redis afhankelijkheden toe en selecteer vervolgens Java-versie 8 of hoger.
Gegevens in cache opslaan in Azure Cache voor Redis
Met een Azure Cache voor Redis-exemplaar kunt u gegevens in de cache opslaan met behulp van 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.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Notitie
Deze stuklijst moet worden geconfigureerd in de sectie <dependencyManagement>
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 gebruikenvoor meer informatie over de versie die voor deze BOM wordt gebruikt.
Codeer de toepassing
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:
Configureer redis-cachereferenties in het application.properties configuratiebestand, zoals wordt weergegeven in het volgende voorbeeld.
spring.data.redis.host=<your-redis-name>.redis.cache.windows.net spring.data.redis.port=10000 spring.data.redis.username=<your-redis-username> spring.data.redis.ssl.enabled=true spring.data.redis.azure.passwordless-enabled=true
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
Om de waarde voor
username
te krijgen, volgt u de instructies in de sectie 'Microsoft Entra ID-verificatie inschakelen op uw cache' van 'Gebruik Microsoft Entra ID voor cacheverificatie', en kopieert u de gebruikersnaam waarde.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. Azure Spring Apps- maakt het eenvoudig om Spring Boot-toepassingen te 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 Appsom uw toepassing te implementeren in Azure Spring Apps.
Volgende stappen
Ga naar het Documentatiecentrum van Spring op Azure voor meer informatie over Spring en Azure.