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. Redis zwiększa wydajność i skalowalność aplikacji intensywnie korzystającej z magazynów danych na zapleczu.
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 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 Microsoft Entra to mechanizm łączenia się z usługą Azure Cache for Redis przy użyciu tożsamości zdefiniowanych w Microsoft Entra ID. Dzięki uwierzytelnianiu firmy Microsoft Entra można zarządzać tożsamościami użytkowników bazy danych i innymi usługami firmy Microsoft w centralnej lokalizacji, co upraszcza zarządzanie uprawnieniami.
Uwierzytelnianie Redis używa haseł. Jeśli zdecydujesz się używać haseł jako poświadczeń, musisz samodzielnie zarządzać hasłami.
Warunki wstępne
Subskrypcja platformy Azure — załóż bezpłatną.
Java Development Kit (JDK) w wersji 17 lub nowszej.
Wystąpienie pamięci podręcznej Redis Cache. Jeśli go nie masz, zobacz Szybki start: tworzeniepamięci podręcznej Redis typu open source.
Aplikacja Spring Boot. Jeśli jeszcze go nie masz, utwórz projekt Maven przy użyciu Spring Initializr. Pamiętaj, aby wybrać projektu Maven, a następnie w obszarze Dependenciesdodaj Spring Web i Spring Data Reactive Redis zależności, 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ł Spring Cloud Azure Starter Data Redis z biblioteką 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>
Notatka
Ten zestaw materiałów (BOM) należy skonfigurować w sekcji <dependencyManagement>
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órej wersji platformy Spring Cloud platformy Azure należy używać.
Kod aplikacji
Aby używać pamięci podręcznej Redis Do przechowywania i pobierania danych, skonfiguruj aplikację, wykonując następujące czynności:
- uwierzytelnianie za pomocą identyfikatora entra firmy Microsoft (zalecane)
- uwierzytelnianie klucza dostępu
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=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
Notatka
Aby uzyskać wartość
username
, postępuj zgodnie z instrukcjami w sekcji Włączanie uwierzytelniania identyfikatora Entra firmy Microsoft w pamięci podręcznej sekcji Użyj identyfikatora Microsoft Entra do uwierzytelniania pamięci podręczneji 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 do usługi Azure Spring Apps
Teraz, gdy aplikacja Spring Boot działa lokalnie, nadszedł czas, aby przenieść ją do środowiska produkcyjnego.
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ą, odkrywania usług, integracji CI/CD, wdrażania blue-green i nie tylko. Aby wdrożyć aplikację w usłudze Azure Spring Apps, zobacz
Następne kroki
Aby dowiedzieć się więcej na temat platformy Spring i platformy Azure, przejdź do Centrum dokumentacji platformy Azure.