Dela via


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

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

Not

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.

    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
    

    Obs

    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.

    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.