Använda Azure Redis Cache på våren
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.
Den här självstudien visar hur du använder en Redis-cache för att lagra och hämta data i ett Spring Boot-program.
I den här självstudien innehåller vi två autentiseringsmetoder: Microsoft Entra-autentisering och Redis-autentisering. Fliken Lösenordslös visar Microsoft Entra-autentiseringen och fliken Lösenord visar Redis-autentiseringen.
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 databasanvändares identiteter och andra Microsoft usluge på en central plats, vilket förenklar behörighetshanteringen.
Redis-autentisering använder lösenord i Redis. Om du väljer att använda lösenord som autentiseringsuppgifter måste du hantera lösenorden själv.
Förutsättningar
En Azure-prenumeration – skapa en kostnadsfritt.
Java Development Kit (JDK) version 17 eller senare.
Apache Maven, version 3.0 eller senare.
cURL eller ett liknande HTTP-verktyg för att testa funktioner.
En Redis-cacheinstans. Om du inte har någon kan du läsa Snabbstart: Skapa en Redis-cache med öppen källkod.
Ett Spring Boot-program. Om du inte har ett skapar du ett Maven-projekt med Spring Initializr. Var noga med att välja Maven Project och under Beroenden lägger du till Spring Web - och Spring Data Reactive Redis-beroenden och väljer sedan Java version 8 eller senare.
Cachelagring av data till Azure Cache for Redis
Med en Azure Cache for Redis-instans kan du cachelagrat data med Spring Cloud Azure.
Om du vill installera Spring Cloud Azure Starter Data Redis med Lettuce-modulen lägger du till följande beroenden i din pom.xml-fil :
<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.19.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Kommentar
Den här strukturlistan (BOM) bör konfigureras i avsnittet i <dependencyManagement>
din pom.xml-fil . Den här konfigurationen säkerställer att alla Spring Cloud Azure-beroenden använder samma version. Mer information om vilken version som används för den här strukturlistan finns i Vilken version av Spring Cloud Azure ska jag använda.
Koda appen
Om du vill använda en Redis-cache för att lagra och hämta data konfigurerar du programmet med hjälp av följande steg:
Konfigurera Redis-cacheautentiseringsuppgifter i konfigurationsfilen application.properties , som du ser i följande exempel.
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
Kommentar
Om du vill hämta värdet för
username
följer du anvisningarna i avsnittet Aktivera Microsoft Entra-ID-autentisering i cacheminnet i Använd Microsoft Entra-ID för cacheautentisering och kopierar användarnamnsvärdet.Redigera startklassfilen för att visa följande innehåll. Den här koden lagrar och hämtar data.
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)); } }
Starta sedan programmet. Programmet hämtar data från Din Redis-cache. Du bör se loggar som liknar följande exempel:
Add a key is done
Return the value from the cache: Hello World
Distribuera till Azure Spring Apps
Nu när Spring Boot-programmet körs lokalt är det dags att flytta det till produktion. Azure Spring Apps gör det enkelt att distribuera Spring Boot-program till Azure utan några kodändringar. Tjänsten hanterar infrastrukturen för Spring-program så att utvecklare kan fokusera på sin kod. Azure Spring Apps tillhandahåller livscykelhantering med omfattande övervakning och diagnostik, konfigurationshantering, tjänstidentifiering, CI/CD-integrering, blågröna distributioner med mera. Information om hur du distribuerar ditt program till Azure Spring Apps finns i Distribuera ditt första program till Azure Spring Apps.
Nästa steg
Om du vill veta mer om Spring och Azure kan du fortsätta till dokumentationscentret för Spring i Azure.