Sdílet prostřednictvím


Použití Služby Azure Redis Cache ve Springu

Azure Cache for Redis poskytuje úložiště dat v paměti založené na softwaru Redis. Redis zlepšuje výkon a škálovatelnost aplikace, která využívá back-endová úložiště dat.

V tomto kurzu se dozvíte, jak pomocí mezipaměti Redis ukládat a načítat data v aplikaci Spring Boot.

V tomto kurzu zahrneme dvě metody ověřování: ověřování Microsoft Entra a ověřování Redis. Karta Bez hesla zobrazuje ověřování Microsoft Entra a karta Heslo zobrazuje ověřování Redis.

Ověřování Microsoft Entra je mechanismus pro připojení ke službě Azure Cache for Redis pomocí identit definovaných v MICROSOFT Entra ID. Pomocí ověřování Microsoft Entra můžete spravovat identity uživatelů databáze a další služby Microsoftu v centrálním umístění, což zjednodušuje správu oprávnění.

Ověřování Redis používá hesla v Redisu. Pokud se rozhodnete používat hesla jako přihlašovací údaje, musíte hesla spravovat sami.

Požadavky

Ukládání dat do služby Azure Cache for Redis

S instancí Azure Cache for Redis můžete data ukládat do mezipaměti pomocí Spring Cloudu Azure.

Pokud chcete nainstalovat modul Spring Cloud Azure Starter Data Redis s lettuce, přidejte do souboru pom.xml následující závislosti:

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

Poznámka

Tato faktura materiálu (BOM) by měla být nakonfigurovaná v části <dependencyManagement> souboru pom.xml. Tato konfigurace zajišťuje, že všechny závislosti Azure Spring Cloudu používají stejnou verzi. Další informace o verzi, která byla použita pro tento kusovník, najdete v tématu Jakou verzi Spring Cloud Azure mám použít.

Kódování aplikace

Pokud chcete k ukládání a načítání dat použít mezipaměť Redis, nakonfigurujte aplikaci pomocí následujícího postupu:

  1. Nakonfigurujte přihlašovací údaje mezipaměti Redis v konfiguračním souboru application.properties, jak je znázorněno v následujícím příkladu.

    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
    

    Poznámka

    Pokud chcete získat hodnotu pro username, postupujte podle pokynů v části Povolení ověřování Microsoft Entra ID pro mezipaměť, které se nacházejí v části Použití Microsoft Entra ID pro ověřování mezipaměti, a zkopírujte hodnotu uživatelského jména .

  2. Upravte soubor spouštěcí třídy, aby se zobrazil následující obsah. Tento kód ukládá a načítá 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));
        }
    
    }
    

Pak spusťte aplikaci. Aplikace načte data z mezipaměti Redis. Měly by se zobrazit protokoly podobné následujícímu příkladu:

Add a key is done
Return the value from the cache: Hello World

Nasazení do Azure Spring Apps

Teď, když máte aplikaci Spring Boot spuštěnou místně, je čas ji přesunout do produkčního prostředí. Azure Spring Apps usnadňuje nasazování aplikací Spring Boot do Azure bez jakýchkoli změn kódu. Služba spravuje infrastrukturu aplikací Spring, aby se vývojáři mohli soustředit na svůj kód. Azure Spring Apps poskytuje správu životního cyklu pomocí komplexního monitorování a diagnostiky, správy konfigurace, zjišťování služeb, integrace CI/CD, modrých zelených nasazení a dalších. Pokud chcete nasadit aplikaci do Azure Spring Apps, přečtěte si téma Nasazení první aplikace do služby Azure Spring Apps.

Další kroky

Další informace o Springu a Azure najdete v centru dokumentace Spring on Azure.