Udostępnij za pośrednictwem


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.

  • Apache Maven w wersji 3.0 lub nowszej.

  • cURL lub podobne narzędzie HTTP do testowania funkcji.

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

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

  2. 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 Deploy your first application to Azure Spring Apps(Wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps).

Następne kroki

Aby dowiedzieć się więcej na temat platformy Spring i platformy Azure, przejdź do Centrum dokumentacji platformy Azure.