Freigeben über


Verwenden des Azure Redis-Caches im Frühjahr

Azure Cache for Redis bietet einen auf der Redis-Software basierenden In-Memory-Datenspeicher. Redis verbessert die Leistung und Skalierbarkeit einer Anwendung, die Back-End-Datenspeicher stark verwendet.

In diesem Lernprogramm wird veranschaulicht, wie Sie einen Redis-Cache zum Speichern und Abrufen von Daten in einer Spring Boot-Anwendung verwenden.

In diesem Lernprogramm enthalten wir zwei Authentifizierungsmethoden: Microsoft Entra-Authentifizierung und Redis-Authentifizierung. Auf der Registerkarte "Kennwortlos" werden die Microsoft Entra-Authentifizierung und die Registerkarte "Kennwort" die Redis-Authentifizierung angezeigt.

Die Microsoft Entra-Authentifizierung ist ein Mechanismus zum Herstellen einer Verbindung mit Azure Cache für Redis mithilfe von Identitäten, die in Microsoft Entra ID definiert sind. Mit der Microsoft Entra-Authentifizierung können Sie Datenbankbenutzeridentitäten und andere Microsoft-Dienste an einem zentralen Ort verwalten, wodurch die Berechtigungsverwaltung vereinfacht wird.

Redis-Authentifizierung verwendet Kennwörter in Redis. Wenn Sie sich dafür entscheiden, Kennwörter als Anmeldeinformationen zu verwenden, müssen Sie die Kennwörter selbst verwalten.

Voraussetzungen

  • Azure-Abonnement (kostenloses Abonnement erstellen)

  • Java Development Kit (JDK) Version 17 oder höher.

  • Apache Maven, Version 3.0 oder höher.

  • cURL oder ein ähnliches HTTP-Hilfsprogramm zum Testen der Funktionalität.

  • Eine Redis-Cacheinstanz. Wenn Sie keins haben, lesen Sie die Schnellstartanleitung : Erstellen eines Open-Source-Redis-Caches.

  • Ein Spring Boot-Anwendung. Wenn Sie keine Spring Boot-Anwendung besitzen, erstellen Sie mit Spring Initializr ein Maven-Projekt. Wählen Sie "Maven Project" aus, und fügen Sie unter "Abhängigkeiten" die Abhängigkeiten "Spring Web" und "Spring Data Reactive Redis" hinzu, und wählen Sie dann Java, Version 8 oder höher, aus.

Zwischenspeichern von Daten im Azure-Cache für Redis

Mit einer Azure Cache für Redis-Instanz können Sie Daten mithilfe von Spring Cloud Azure zwischenspeichern.

Um das Spring Cloud Azure Starter Data Redis mit Lettuce-Modul zu installieren, fügen Sie Ihrer pom.xml Datei die folgenden Abhängigkeiten hinzu:

<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.14.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Hinweis

Diese Stückliste (Bill of Material, BOM) sollte im <dependencyManagement> Abschnitt Ihrer pom.xml Datei konfiguriert werden. Diese Konfiguration stellt sicher, dass alle Spring Cloud Azure-Abhängigkeiten dieselbe Version verwenden. Weitere Informationen zu der version, die für diese BOM verwendet wird, finden Sie unter Welche Version von Spring Cloud Azure sollte ich verwenden.

Codieren der Anwendung

Um einen Redis-Cache zum Speichern und Abrufen von Daten zu verwenden, konfigurieren Sie die Anwendung mithilfe der folgenden Schritte:

  1. Konfigurieren Sie Redis-Cacheanmeldeinformationen in der Konfigurationsdatei "application.properties ", wie im folgenden Beispiel gezeigt.

    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
    

    Hinweis

    Befolgen Sie zum Abrufen des Werts usernamedie Anweisungen im Abschnitt "Aktivieren der Microsoft Entra-ID-Authentifizierung" in Ihrem Cacheabschnitt der Verwendung der Microsoft Entra-ID für die Cacheauthentifizierung, und kopieren Sie den Benutzernamenwert .

  2. Bearbeiten Sie die Startklassendatei, um den folgenden Inhalt anzuzeigen. Dieser Code speichert und ruft Daten ab.

    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));
        }
    
    }
    

Starten Sie dann die Anwendung. Die Anwendung ruft Daten aus Ihrem Redis-Cache ab. Es sollten Protokolle wie im folgenden Beispiel angezeigt werden:

Add a key is done
Return the value from the cache: Hello World

Bereitstellen in Azure Spring Apps

Nachdem Sie nun die Spring Boot-Anwendung lokal ausgeführt haben, ist es an der Zeit, sie in die Produktion zu verschieben. Azure Spring Apps erleichtert die Bereitstellung von Spring Boot-Anwendungen in Azure ohne Codeänderungen. Der Dienst verwaltet die Infrastruktur von Spring-Anwendungen und ermöglicht es Entwicklern dadurch, sich auf ihren Code zu konzentrieren. Azure Spring Apps bietet eine Lebenszyklusverwaltung mit umfassender Überwachung und Diagnose, Konfigurationsverwaltung, Dienstermittlung, CI/CD-Integration, Blau/Grün-Bereitstellungen und mehr. Informationen zum Bereitstellen Ihrer Anwendung in Azure Spring Apps finden Sie unter Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps.

Nächste Schritte

Weitere Informationen zu Spring und Azure finden Sie im Dokumentationscenter zu Spring in Azure.