Schnellstart: Verwenden von Azure Cache for Redis in Java mit dem Jedis Redis-Client
In dieser Schnellstartanleitung integrieren Sie Azure Cache for Redis in eine Java-App mit dem Jedis Redis-Client. Ihr Cache ist ein sicherer, dedizierter Zwischenspeicher, der von jeder Anwendung in Azure aus zugänglich ist.
Überspringen und mit dem Code auf GitHub fortfahren
Klonen Sie das Repository Java-Schnellstart auf GitHub.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Apache Maven
Erstellen einer Azure Managed Redis-Instanz (Vorschau)
Melden Sie sich zum Erstellen einer Azure Managed Redis-Instanz (Vorschau) beim Azure-Portal an, und wählen Sie Ressource erstellen aus.
Geben Sie auf der Seite Neu im Suchfeld Azure Cache for Redis ein.
Konfigurieren Sie auf der Seite Neuer Redis Cache die Einstellungen für den neuen Cache.
Einstellung Wert auswählen BESCHREIBUNG Abonnement Öffnen Sie die Dropdownliste, und wählen Sie Ihr Abonnement aus. Das Abonnement, unter dem diese neue Azure Managed Redis-Instanz erstellt wird. Ressourcengruppe Öffnen Sie die Dropdownliste, und wählen Sie eine Ressourcengruppe aus, oder wählen Sie Neu erstellen aus, und geben Sie einen Namen für eine neue Ressourcengruppe ein. Der Name der Ressourcengruppe, in der Ihr Cache und weitere Ressourcen erstellt werden. Wenn Sie alle Ihre App-Ressourcen in einer Ressourcengruppe zusammenfassen, können Sie sie einfacher gemeinsam verwalten oder löschen. DNS-Name Geben Sie einen Namen ein, der in der Region eindeutig ist. Der Cachename muss zwischen 1 und 63 Zeichen lang sein, wenn er mit dem Regionsnamen des Cache kombiniert wird, und darf nur Ziffern, Buchstaben und Bindestriche enthalten. (Wenn der Cachename weniger als 45 Zeichen lang ist, sollte er in allen derzeit verfügbaren Regionen funktionieren.) Der Name muss mit einer Zahl oder einem Buchstaben beginnen und enden und darf keine aufeinanderfolgenden Bindestriche enthalten. Der Hostname Ihrer Cache-Instanz ist \<DNS name\>.\<Azure region\>.redis.azure.net
.Location Öffnen Sie die Dropdownliste, und wählen Sie einen Standort aus. Azure Managed Redis ist in ausgewählten Azure-Regionen verfügbar. Cachetyp Wählen Sie in der Dropdownliste die Leistungsstufe und die Cachegröße aus. Die Stufe bestimmt die Leistung der Redis-Instanz, während die Cachegröße den zur Datenspeicherung verfügbaren Arbeitsspeicher bestimmt. Einen Leitfaden zum Auswählen der richtigen Leistungsstufe finden Sie unter Auswählen der richtigen Dienstebene. Wählen Sie Weiter: Netzwerk aus, um einen öffentlichen oder privaten Endpunkt auszuwählen.
Klicken Sie auf Weiter: Erweitert.
Konfigurieren Sie alle Redis-Module, die Sie der Instanz hinzufügen möchten.
Folgendes gilt standardmäßig für neue verwaltete Caches:
- Microsoft Entra ID ist aktiviert.
- Die Authentifizierung mit Zugriffsschlüsseln ist aus Sicherheitsgründen deaktiviert.
Wichtig
Für eine optimale Sicherheit empfehlen wir, Microsoft Entra ID mit verwalteten Identitäten zu verwenden, um Anforderungen nach Möglichkeit für Ihren Cache zu autorisieren. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine höhere Sicherheit und Benutzerfreundlichkeit als die Autorisierung mit gemeinsam verwendetem Schlüssel. Weitere Informationen zum Verwenden verwalteter Identitäten mit Ihren Caches finden Sie unter Verwenden von Microsoft Entra ID für die Cacheauthentifizierung.
Legen Sie Clusteringrichtlinie auf Enterprise für einen nicht gruppierten Cache fest oder OSS für einen gruppierten Cache. Weitere Informationen zum Auswählen einer Clusterrichtlinie finden Sie unter Clusterrichtlinie.
Bei Verwendung der aktiven Georeplikation muss diese während der Erstellung konfiguriert werden. Weitere Informationen finden Sie unter Konfigurieren der aktiven Georeplikation für Azure Managed Redis-Instanzen.
Wichtig
Sie können die Clusterrichtlinie einer Azure Managed Redis-Instanz (Vorschau) nach der Erstellung nicht mehr ändern. Wenn Sie RediSearch verwenden, ist die Enterprise-Clusterrichtlinie erforderlich, und
NoEviction
wird die einzige Entfernungsrichtlinie unterstützt.Wichtig
Wenn Sie diese Cacheinstanz in einer Georeplikationsgruppe verwenden, können Entfernungsrichtlinien nach der Erstellung der Instanz nicht mehr geändert werden. Achten Sie darauf, die Entfernungsrichtlinie Ihrer primären Knoten zu kennen, bevor Sie den Cache erstellen. Weitere Informationen zur aktiven Georeplikation finden Sie unter Voraussetzungen für die aktive Georeplikation.
Wichtig
Module können nach dem Erstellen einer Cache-Instanz nicht mehr geändert werden. Module müssen zum Zeitpunkt der Erstellung einer Azure Cache for Redis-Instanz aktiviert sein. Es gibt keine Option, die Konfiguration eines Moduls zu aktivieren, nachdem Sie einen Cache erstellt haben.
Wählen Sie Weiter: Tags aus, und überspringen Sie den Schritt.
Klicken Sie auf Weiter: Überprüfen + erstellen.
Überprüfen Sie die Einstellungen, und wählen Sie Erstellen aus.
Das Erstellen der Redis-Instanz dauert einige Minuten. Sie können den Fortschritt auf der Seite Übersicht von Azure Managed Redis überwachen. Wenn Wird ausgeführt als Status angezeigt wird, ist der Cache einsatzbereit.
Erstellen einer Azure Cache for Redis-Instanz
Um einen Cache zu erstellen, melden Sie sich im Azure-Portal an. Klicken Sie im Menü des Portals auf Ressource erstellen.
Geben Sie auf der Seite Erste Schritte den Begriff Azure Cache for Redis in das Suchfeld ein. Suchen Sie in den Suchergebnissen nach Azure Cache for Redis, und wählen Sie dann Erstellen aus.
Konfigurieren Sie im Bereich Neuer Redis-Cache auf der Registerkarte Grundlagen die folgenden Einstellungen für Ihren Cache:
Einstellung Aktion Beschreibung Abonnement Wählen Sie Ihr Azure-Abonnement. Das Abonnement, das zum Erstellen der neuen Instanz von Azure Cache for Redis verwendet werden soll. Ressourcengruppe Wählen Sie eine Ressourcengruppe aus, oder wählen Sie Neu erstellen aus, und geben Sie einen Namen für eine neue Ressourcengruppe ein. Der Name der Ressourcengruppe, in der Ihr Cache und weitere Ressourcen erstellt werden. Wenn Sie alle Ihre App-Ressourcen in einer Ressourcengruppe zusammenfassen, können Sie sie einfacher gemeinsam verwalten oder löschen. DNS-Name Geben Sie einen eindeutigen Namen ein. Der Cachename muss eine Zeichenfolge mit 1 bis 63 Zeichen sein, die nur Zahlen, Buchstaben und Bindestriche enthält. Der Name muss mit einer Zahl oder einem Buchstaben beginnen und enden und darf keine aufeinanderfolgenden Bindestriche enthalten. Der Hostname Ihrer Cache-Instanz ist \<DNS name>.redis.cache.windows.net
.Location Wählen Sie einen Standort aus. Eine Azure-Region, die sich in der Nähe anderer Dienste befindet, die Ihren Cache verwenden. Cache-SKU Wählen Sie eine SKU aus. Die SKU bestimmt die Parameter für Größe, Leistung und Features, die für den Cache verfügbar sind. Weitere Informationen finden Sie unter Azure Cache for Redis. Cachegröße Wählen Sie eine Cachegröße aus. Weitere Informationen finden Sie unter Azure Cache for Redis. Wählen Sie die Registerkarte Netzwerk, oder wählen Sie Weiter: Netzwerk.
Wählen Sie auf der Registerkarte Netzwerk eine Konnektivitätsmethode für den Cache aus.
Wählen Sie die Registerkarte Erweitert aus, oder wählen Sie Weiter: Erweitert aus.
Überprüfen oder wählen Sie im Bereich Erweitert basierend auf den folgenden Informationen eine Authentifizierungsmethode aus:
- Standardmäßig ist für einen neuen Basic-, Standard- oder Premium-Cache die Microsoft Entra-Authentifizierung aktiviert und die Authentifizierung mit Zugriffsschlüsseln deaktiviert.
- Für Basic- oder Standard-Caches können Sie sich für die Auswahl eines Nicht-TLS-Ports entscheiden.
- Für Standard- und Premium-Caches können Sie Verfügbarkeitszonen aktivieren. Verfügbarkeitszonen können nach der Erstellung des Caches nicht deaktiviert werden.
- Konfigurieren Sie für ein Premium-Cache die Einstellungen für einen Nicht-TLS-Port, das Clustering, die verwaltete Identität und die Datenpersistenz.
Wichtig
Für eine optimale Sicherheit empfehlen wir, Microsoft Entra ID mit verwalteten Identitäten zu verwenden, um Anforderungen nach Möglichkeit für Ihren Cache zu autorisieren. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine höhere Sicherheit und Benutzerfreundlichkeit als die Autorisierung mit gemeinsam verwendetem Schlüssel. Weitere Informationen zum Verwenden verwalteter Identitäten mit Ihren Caches finden Sie unter Verwenden von Microsoft Entra ID für die Cacheauthentifizierung.
(Optional) Wählen Sie die Registerkarte Tags aus, oder wählen Sie Weiter: Tags aus.
Geben Sie optional auf der Registerkarte Tags den Namen und den Wert ein, wenn Sie die Cacheressource kategorisieren möchten.
Wählen Sie die Schaltfläche Überprüfen + erstellen aus.
Auf der Registerkarte Überprüfen und Erstellen überprüft Azure automatisch Ihre Konfiguration.
Wenn die grüne Meldung Validierung erfolgreich angezeigt wird, wählen Sie Erstellen aus.
Eine neue Cachebereitstellung dauert mehrere Minuten. Sie können den Fortschritt der Bereitstellung im Azure Cache for Redis -Übersichtsbereich überwachen. Wenn der StatusWird ausgeführt anzeigt, kann der Cache verwendet werden.
Abrufen von Hostname, Ports und Zugriffsschlüsseln vom Azure-Portal
Um ihren Azure Cache for Redis-Server zu verbinden, benötigt der Cacheclient den Hostnamen, die Ports und einen Schlüssel für den Cache. Von einigen Clients wird unter Umständen mit etwas anderen Namen auf diese Elemente verwiesen. Sie können den Hostnamen, Ports und Zugriffsschlüssel vom Azure-Portal abrufen.
Um den Hostnamen und die Ports für den Cache abzurufen, wählen Sie im Menü Ressource die Option Übersicht aus. Der Hostname hat das Format
<DNS name>.redis.cache.windows.net
.Wählen Sie zum Abrufen der Zugriffsschlüssel im Menü Ressource die Option Authentifizierung aus. Wählen Sie dann die Registerkarte Zugriffsschlüssel aus.
Einrichten der Arbeitsumgebung
Die folgenden Schritte zeigen, wie Sie die Arbeitsumgebung für die Java-App einrichten. Sie können sich mit Azure Cache for Redis mit Microsoft Entra ID (empfohlen) oder Zugriffsschlüsseln authentifizieren.
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=10000
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export USER_NAME=<user-name>
export REDIS_CACHE_PORT=6380
Ersetzen Sie die Platzhalter durch die folgenden Werte:
<your-host-name>
: der DNS-Hostname. Um den Hostnamen und die Ports für den Cache abzurufen, wählen Sie im Menü Ressource die Option Übersicht aus. Der Hostname hat das Format<DNS name>.redis.cache.windows.net
.<user-name>
= Objekt-ID Ihrer verwalteten Identität oder Ihres Dienstprinzipals.Den Benutzernamen können Sie mit den folgenden Schritten abrufen:
Erstellen einer neuen Java-App
Verwenden von Maven zum Generieren einer neuen Schnellstart-App:
mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DarchetypeVersion=1.3 \ -DinteractiveMode=false \ -DgroupId=example.demo \ -DartifactId=redis-jedis-test \ -Dversion=1.0
Wechseln Sie zum neuen Projektverzeichnis redis-jedis-test.
Öffnen Sie die Datei pom.xml. In der Datei wird eine Abhängigkeit für Jedis angezeigt:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} --> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>5.2.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} --> </dependency>
Schließen Sie die Datei pom.xml.
Öffnen Sie App.java, und ersetzen Sie den Code durch folgenden Code:
package example.demo; import com.azure.identity.DefaultAzureCredential; import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.core.credential.TokenRequestContext; import redis.clients.jedis.DefaultJedisClientConfig; import redis.clients.jedis.Jedis; /** * Redis test * */ public class App { public static void main( String[] args ) { boolean useSsl = true; //Construct a Token Credential from Identity library, e.g. DefaultAzureCredential / ClientSecretCredential / Client CertificateCredential / ManagedIdentityCredential etc. DefaultAzureCredential defaultAzureCredential = new DefaultAzureCredentialBuilder().build(); // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password. String token = defaultAzureCredential .getToken(new TokenRequestContext() .addScopes("https://redis.azure.com/.default")).block().getToken(); String cacheHostname = System.getenv("REDIS_CACHE_HOSTNAME"); String username = System.getenv("USER_NAME"); int port = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "6380")); // Connect to the Azure Cache for Redis over the TLS/SSL port using the key. Jedis jedis = new Jedis(cacheHostname, port, DefaultJedisClientConfig.builder() .password(token) // Microsoft Entra access token as password is required. .user(username) // Username is Required .ssl(useSsl) // SSL Connection is Required .build()); // Perform cache operations using the cache connection object... // Simple PING command System.out.println( "\nCache Command : Ping" ); System.out.println( "Cache Response : " + jedis.ping()); // Simple get and put of integral data types into the cache System.out.println( "\nCache Command : GET Message" ); System.out.println( "Cache Response : " + jedis.get("Message")); System.out.println( "\nCache Command : SET Message" ); System.out.println( "Cache Response : " + jedis.set("Message", "Hello! The cache is working from Java!")); // Demonstrate "SET Message" executed as expected... System.out.println( "\nCache Command : GET Message" ); System.out.println( "Cache Response : " + jedis.get("Message")); // Get the client list, useful to see if connection list is growing... System.out.println( "\nCache Command : CLIENT LIST" ); System.out.println( "Cache Response : " + jedis.clientList()); jedis.close(); } }
Dieser Code zeigt, wie Sie unter Verwendung der Umgebungsvariablen für Cachehostname und Schlüssel eine Verbindung mit einer Azure Cache for Redis-Instanz herstellen. Der Code speichert auch einen Zeichenfolgenwert im Cache und ruft ihn ab. Außerdem werden die Befehle
PING
undCLIENT LIST
ausgeführt.Schließen Sie die Datei App.java.
Erstellen und Ausführen der App
Führen Sie den folgenden Maven-Befehl aus, um die App zu erstellen und auszuführen:
mvn compile exec:java -D exec.mainClass=example.demo.App
In der folgenden Ausgabe können Sie sehen, dass der Message
Schlüssel zuvor einen zwischengespeicherten Wert hatte. Der Wert wurde mithilfe von jedis.set
auf einen neuen Wert aktualisiert. Außerdem hat die App die Befehle PING
und CLIENT LIST
ausgeführt.
Cache Command : Ping
Cache Response : PONG
Cache Command : GET Message
Cache Response : Hello! The cache is working from Java!
Cache Command : SET Message
Cache Response : OK
Cache Command : GET Message
Cache Response : Hello! The cache is working from Java!
Cache Command : CLIENT LIST
Cache Response : id=777430 addr= :58989 fd=22 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 ow=0 owmem=0 events=r cmd=client numops=6
Bereinigen von Ressourcen
Falls Sie mit dem nächsten Tutorial fortfahren möchten, können Sie die in dieser Schnellstartanleitung erstellten Ressourcen beibehalten und wiederverwenden.
Wenn Sie die Schnellstart-Beispielanwendung nicht mehr benötigen, können Sie die hier erstellten Azure-Ressourcen löschen, um das Anfallen von Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden also dauerhaft gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen zum Hosten dieses Beispiels in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten wollen, können Sie jede Ressourcen einzeln löschen, statt die Ressourcengruppe zu löschen.
Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
Geben Sie im Textfeld Nach Name filtern den Namen Ihrer Ressourcengruppe ein. In diesem Artikel wurde eine Ressourcengruppe mit dem Namen
TestResources
verwendet. Klicken Sie in der Ergebnisliste in Ihrer Ressourcengruppe auf Ressource testen und dann auf Ressourcengruppe löschen.Geben Sie den Namen Ihrer Ressourcengruppe ein, um das Löschen zu bestätigen und wählen Sie Löschen aus.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.
Nächste Schritte
In dieser Schnellstartanleitung wurde beschrieben, wie Sie Azure Cache for Redis über eine Java-Anwendung verwenden. In der nächsten Schnellstartanleitung erfahren Sie, wie Sie Azure Cache for Redis mit einer ASP.NET-Web-App verwenden.