Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 guiden visar hur du använder en Redis-cache för att lagra och hämta data i en Spring Boot-applikation.
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-tjänster 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 kostnadsfri.
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. Se till att välja Maven Project och under Beroendenlä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 cachelagra data med hjälp av 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>org.springframework.boot</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.21.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Note
Den här strukturlistan (BOM) bör konfigureras i avsnittet <dependencyManagement>
i 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 i denna BOM finns i Vilken version av Spring Cloud Azure ska jag använda.
Koda programmet
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 application.properties konfigurationsfil, som du ser i följande exempel.
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
Note
Om du vill hämta värdet för
username
följer du anvisningarna i Aktivera Microsoft Entra-ID-autentisering i cachen avsnittet i Använd Microsoft Entra-ID för cacheautentiseringoch kopiera användarnamnet värde.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 fortsätter du till dokumentationscentret för Spring on Azure.