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
Předplatné Azure – vytvořte zdarma.
Java Development Kit (JDK) verze 17 nebo vyšší.
Apache Maven, verze 3.0 nebo vyšší.
cURL nebo podobný nástroj HTTP pro testování funkčnosti.
Instance mezipaměti Redis. ** Pokud jej nemáte, podívejte se na Rychlý start: Vytvoření open-source mezipaměti Redis.
Aplikace Spring Boot. Pokud ho nemáte, vytvořte projekt Maven pomocí Spring Initializr. Nezapomeňte vybrat projekt Maven a v části Závislostipřidejte závislosti Spring Web a Spring Data Reactive Redis, a pak vyberte Java verzi 8 nebo vyšší.
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:
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 .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.