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

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:

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

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