Läs på engelska

Dela via


Använda Azure Redis Cache på våren

Välj den version av Azure Redis som du använder

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

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:

XML
<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.20.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Anteckning

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:

  1. Konfigurera Redis-cacheautentiseringsuppgifter i application.properties konfigurationsfil, som du ser i följande exempel.

    properties
    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
    
    properties
    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
    

    Anteckning

    Om du vill hämta värdet för usernamefö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.

  2. Redigera startklassfilen för att visa följande innehåll. Den här koden lagrar och hämtar data.

    Java
    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:

Output
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.