Korzystanie z usługi Azure Redis Cache na platformie Spring
Usługa Azure Cache for Redis udostępnia magazyn danych w pamięci oparty na oprogramowaniu Redis. Usługa Redis zwiększa wydajność i skalowalność aplikacji, która intensywnie korzysta z magazynów danych zaplecza.
W tym samouczku pokazano, jak używać pamięci podręcznej Redis do przechowywania i pobierania danych w aplikacji Spring Boot.
W tym samouczku uwzględniliśmy dwie metody uwierzytelniania: uwierzytelnianie firmy Microsoft Entra i uwierzytelnianie usługi Redis. Karta Bez hasła zawiera uwierzytelnianie firmy Microsoft Entra, a karta Hasło zawiera uwierzytelnianie usługi Redis.
Uwierzytelnianie entra firmy Microsoft to mechanizm łączenia się z usługą Azure Cache for Redis przy użyciu tożsamości zdefiniowanych w identyfikatorze Entra firmy Microsoft. Dzięki uwierzytelnieniu firmy Microsoft Entra można zarządzać tożsamościami użytkowników bazy danych i innymi usługi firmy Microsoft w centralnej lokalizacji, co upraszcza zarządzanie uprawnieniami.
Uwierzytelnianie usługi Redis używa haseł w usłudze Redis. Jeśli zdecydujesz się używać haseł jako poświadczeń, musisz samodzielnie zarządzać hasłami.
Wymagania wstępne
Subskrypcja platformy Azure — utwórz bezpłatnie.
Zestaw Java Development Kit (JDK) w wersji 17 lub nowszej.
Apache Maven, wersja 3.0 lub nowsza.
cURL lub podobne narzędzie HTTP do testowania funkcjonalności.
Wystąpienie pamięci podręcznej Redis Cache. Jeśli go nie masz, zobacz Szybki start: tworzenie pamięci podręcznej Redis Typu open source.
Aplikacja Spring Boot. Jeśli go nie masz, utwórz projekt Maven za pomocą narzędzia Spring Initializr. Pamiętaj, aby wybrać pozycję Projekt Maven, a następnie w obszarze Zależności dodaj zależności Spring Web i Spring Data Reaktywne redis , a następnie wybierz pozycję Java w wersji 8 lub nowszej.
Buforowanie danych w usłudze Azure Cache for Redis
Wystąpienie usługi Azure Cache for Redis umożliwia buforowanie danych przy użyciu platformy Azure Spring Cloud.
Aby zainstalować moduł Redis danych startowych Platformy Azure Spring Cloud za pomocą usługi Lettuce, dodaj następujące zależności do pliku pom.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>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>
Uwaga
Ten rachunek materiału (BOM) należy skonfigurować w <dependencyManagement>
sekcji pliku pom.xml . Ta konfiguracja zapewnia, że wszystkie zależności platformy Azure spring Cloud korzystają z tej samej wersji. Aby uzyskać więcej informacji na temat wersji używanej dla tego modelu BOM, zobacz Która wersja platformy Spring Cloud platformy Azure powinna być używana.
Kodowanie aplikacji
Aby używać pamięci podręcznej Redis Do przechowywania i pobierania danych, skonfiguruj aplikację, wykonując następujące czynności:
Skonfiguruj poświadczenia pamięci podręcznej Redis w pliku konfiguracji application.properties , jak pokazano w poniższym przykładzie.
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
Uwaga
Aby uzyskać wartość parametru
username
, postępuj zgodnie z instrukcjami w sekcji Włączanie uwierzytelniania identyfikatora Entra firmy Microsoft w pamięci podręcznej w sekcji Use Microsoft Entra ID for cache authentication (Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej) i skopiuj wartość nazwy użytkownika.Edytuj plik klasy uruchamiania, aby wyświetlić następującą zawartość. Ten kod przechowuje i pobiera dane.
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)); } }
Następnie uruchom aplikację. Aplikacja pobiera dane z pamięci podręcznej Redis Cache. Powinny zostać wyświetlone dzienniki podobne do następującego przykładu:
Add a key is done
Return the value from the cache: Hello World
Wdrażanie w usłudze Azure Spring Apps
Teraz, gdy aplikacja Spring Boot działa lokalnie, nadszedł czas, aby przenieść ją do środowiska produkcyjnego. Usługa Azure Spring Apps ułatwia wdrażanie aplikacji Spring Boot na platformie Azure bez żadnych zmian w kodzie. Usługa zarządza infrastrukturą aplikacji Spring, aby deweloperzy mogli skupić się na swoim kodzie. Usługa Azure Spring Apps zapewnia zarządzanie cyklem życia przy użyciu kompleksowego monitorowania i diagnostyki, zarządzania konfiguracją, odnajdywania usług, integracji/ciągłego wdrażania, wdrożeń niebieskich zielonych i nie tylko. Aby wdrożyć aplikację w usłudze Azure Spring Apps, zobacz Wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps.
Następne kroki
Aby dowiedzieć się więcej na temat oprogramowania Spring i platformy Azure, przejdź do centrum dokumentacji dotyczącej oprogramowania Spring na platformie Azure.