Informationen zu Redis für Java- und Spring Boot-Anwendungen
Während Ihre Azure Cache for Redis-Instanz bereitgestellt wird, lesen Sie diese Abschnitte, um mehr über die folgenden Technologien zu erfahren:
- Redis und Azure Cache for Redis
- Redis mit Java- und Spring Boot-Anwendungen
- Verteilter Cache für Spring Data Redis
Redis und Azure Cache for Redis
Redis ist ein BSD-lizenzierter, verteilter In-Memory-Datenspeicher basierend auf Open Source mit optionaler Dauerhaftigkeit, der als Cache und Nachrichtenbroker fungiert. Bei Redis handelt es sich um eine der beliebtesten Schlüssel-Wert-Datenbanken mit einfacher Bedienung, Leistung und Skalierbarkeit – eine sehr gute Wahl für Anwendungsentwickler*innen.
Azure Cache for Redis ist eine verwaltete Version von Redis, die von Azure verwaltet und in der Cloud betrieben wird. Azure Cache for Redis bietet alle Vorteile von Redis, darunter einen hohen Durchsatz und eine hohe Leistung, um Millionen von Anforderungen pro Sekunde verarbeiten zu können. Azure bietet außerdem alle Vorteile eines verwalteten Clouddiensts, z. B. automatische Patches und Updates sowie Skalierung und Bereitstellung.
Azure Cache for Redis verfügt über mehrere Dienstebenen. Die erweiterten Ebenen bieten Clustering, Georeplikation und Hochverfügbarkeit für die kritischsten Workloads.
Anwendungsfälle für Azure Cache for Redis
Redis und Azure Cache for Redis eignet sich für die folgenden Hauptanwendungsfälle:
- Ein verteilter Cache beschleunigt Anwendungen, die auf SQL-Datenbanken basieren. Außerdem kann Redis die Kosten einer Anwendung senken, da das Skalieren eines Redis-Clusters günstiger als das Skalieren einer Datenbank ist.
- Ein HTTP-Sitzungsdatenspeicher speichert Sitzungsdaten, wodurch sitzungsbasierte Anwendungen skaliert werden können. Anwendungen, die JavaServer Faces (JSF) verwenden oder Sicherheitsdaten in der Benutzersitzung speichern, verwenden in der Regel diesen Mechanismus.
- Eine Nachrichtenbrokerlösung implementiert Architekturen für das Veröffentlichen/Abonnieren oder für Warteschlangen.
Verwenden von Redis mit Java
Redis bietet keine offizielle Bibliothek für Java-Entwickler*innen, doch es sind mehrere Open-Source-Bibliotheken vorhanden. Eine Ihrer Hauptentscheidungen als Java-Entwickler*in besteht darin, die Bibliothek auszuwählen, die am besten zu Ihren Anforderungen passt. Die beliebtesten Bibliotheken sind die folgenden.
- Jedis ist die am häufigsten genutzte Bibliothek. Sie ist übersichtlich und einfach zu verwenden.
- Lettuce ist die Bibliothek, die für dieses Modul verwendet wird, da sie zusammen mit Spring Data for Redis verfügbar ist. Lettuce bietet eine gute asynchrone Unterstützung. Dies ist wichtig, wenn Sie eine reaktionsfähige Spring-Anwendung erstellen möchten.
- Redisson ist der umfangreichste Redis-Client. Sie können ihn auch Redisson als Second-Level-Cache für den Ruhezustand verwenden, falls Sie dieses Feature benötigen.
Verwenden von Spring Data Redis zum Erstellen eines verteilten Caches
Um einen verteilten Cache mithilfe von Redis mit Spring Boot zu erstellen, in der Regel mit Spring Initializr, führen Sie drei Hauptaufgaben aus:
- Hinzufügen der Spring Data Redis-Bibliothek zu Ihrer Anwendung
- Konfigurieren Ihrer Datei application.yml zum Herstellen einer Verbindung mit Ihrer Azure Cache for Redis-Instanz.
- Schreiben Sie den Code für eine Geschäftslogik, indem Sie Spring Data Redis zum Speichern und Abrufen von Daten aus dem Cache nutzen.
Im aktuellen Modul wird die Lettuce-Bibliothek verwendet, aber Sie müssen sie nicht direkt verwenden, es sei denn, Sie benötigen eine erweiterte Konfiguration. Der gesamte Code für den Zugriff auf Daten wird von Spring Data verarbeitet. Dafür wird eine Methode verwendet, die den meisten Spring-Entwickler*innen vertraut sein sollte. Sie können Spring Data auch verwenden, um mithilfe der Java Persistence-API (JPA) auf SQL-Datenbanken und auf NoSQL-Datenbanken wie MongoDB zuzugreifen.
Für Spring Data müssen Sie die folgenden Klassen erstellen:
Ein Java-Bean, in dem Ihre Daten gespeichert werden. Sie kommentieren die Klasse mit der Java-Anmerkung
@RedisHash
, um Redis-Daten mit einem bestimmten Schlüssel zu speichern und abzurufen.Ein Spring-Repository: Bei diesem Repository handelt es sich um eine spezielle Java-Klasse, die Datenbankvorgänge – Erstellen, Abrufen, Aktualisieren, Löschen (CRUD) – für das Java-Bean durchführen kann, das die Daten speichert. Beispielsweise kann diese Klasse eine Instanz des Bean speichern oder eine Liste von Beans abrufen.
Sie können dieses Spring-Repository in einen beliebigen Spring-Standardbean einfügen. Zum Beispiel können Sie das Repository in einen Spring-MVC-REST-Controller einfügen, der die Repositorydaten speichert und auf diese zugreift.
Fahren Sie mit der nächsten Lerneinheit fort, um eine Spring Boot-Anwendung mit einem verteilten Cache zu erstellen, der Spring Data Redis verwendet. Sie können die Anwendung erstellen, während Sie warten, dass die Bereitstellung ihres Azure Cache for Redis-Cache abgeschlossen ist.