Démarrage rapide : Utiliser Azure Cache pour Redis en Java avec le client Redis Jedis
Dans ce guide de démarrage rapide, vous allez incorporer le cache Azure pour Redis dans une application Java à l’aide du client Redis Jedis. Votre cache est un cache sécurisé et dédié accessible à partir de n’importe quelle application dans Azure.
Passer au code sur GitHub
Clonez le guide de démarrage rapide Java du référentiel sur GitHub.
Prérequis
- Abonnement Azure : créez-en un gratuitement
- Apache Maven
Créer une instance Redis managé Azure (préversion)
Pour créer une instance Redis managé Azure (préversion), connectez-vous au portail Azure, puis sélectionnez Créer une ressource.
Dans la page Nouveau, dans la zone de recherche, tapez Azure Cache pour Redis.
Dans la page Nouveau cache Redis, configurez les paramètres du nouveau cache.
Paramètre Choisir une valeur Description Abonnement Dans la liste déroulante, sélectionnez votre abonnement. L’abonnement sous lequel créer cette nouvelle instance Redis managé Azure. Groupe de ressources Dans la liste déroulante, sélectionnez un groupe de ressources ou choisissez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. Nom du groupe de ressources dans lequel créer votre cache et d’autres ressources. En plaçant toutes les ressources de votre application dans un seul groupe de ressources, vous pouvez facilement les gérer ou les supprimer ensemble. Nom DNS Entrez un nom unique dans la région. Le nom du cache doit être une chaîne de 1 à 63 caractères qui, une fois associée au nom de région du cache contient uniquement des chiffres, des lettres ou des traits d’union. (Si le nom du cache est inférieur à 45 caractères, il peut fonctionner dans toutes les régions actuellement disponibles.) Le nom doit commencer et se terminer par un chiffre ou une lettre, et ne peut pas contenir de traits d’union consécutifs. Le nom d’hôte de votre instance de cache est \<DNS name\>.\<Azure region\>.redis.azure.net
.Lieu Dans la liste déroulante, sélectionnez un emplacement. Redis managé Azure est disponible dans certaines régions Azure. Type de cache Utilisez la liste déroulante pour sélectionner le niveau de performance et la taille du cache. Le niveau détermine les performances de l’instance Redis, tandis que la taille du cache détermine la mémoire disponible pour stocker les données. Pour obtenir de l’aide pour choisir le niveau de performance approprié, consultez Choix du niveau approprié Sélectionnez Suivant : Mise en réseau pour configurer un point de terminaison public ou privé.
Sélectionnez Suivant : Avancé.
Configurez les modules Redis que vous voulez ajouter à l’instance.
Par défaut, pour un nouveau cache managé :
- Microsoft Entra ID est activé.
- L’authentification avec des clés d’accès est désactivée pour des raisons de sécurité.
Important
Pour bénéficier d’une sécurité optimale, nous vous recommandons d’utiliser si possible Microsoft Entra ID avec des identités managées pour autoriser les requêtes sur votre cache. L’autorisation avec Microsoft Entra ID et les identités managées offre davantage de sécurité et de facilité d’utilisation que l’autorisation par clé d’accès partagée. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser Microsoft Entra ID pour l’authentification du cache.
Définissez la stratégie de clustering sur Enterprise pour un cache non cluster ou sur OSS pour un cache en cluster. Pour plus d’informations sur le choix d’une stratégie de clustering, consultez Stratégie de clustering.
Si vous utilisez la Géoréplication active, elle doit être configurée pendant la création. Pour plus d’informations, consultez Configurer la géoréplication active pour les instances d’Azure Managed Redis.
Important
Vous ne pouvez pas modifier la stratégie de clustering d’une instance Redis managé Azure (préversion) après l’avoir créée. Si vous utilisez RediSearch, la stratégie de cluster Entreprise est requise et
NoEviction
est la seule stratégie d’éviction prise en charge.Important
Si vous utilisez cette instance de cache dans un groupe de géoréplication, les stratégies d’éviction ne peuvent pas être modifiées une fois l’instance créée. Veillez à connaître les stratégies d’éviction de vos nœuds principaux avant de créer le cache. Pour plus d’informations sur la géoréplication active, consultez les Prérequis à la géoréplication active.
Important
Vous ne pouvez pas modifier les modules après avoir créé une instance de cache. Les modules doivent être activés au moment où vous créez une instance Azure Cache pour Redis. Il n’existe aucune option permettant d’activer la configuration d’un module après avoir créé un cache.
Sélectionnez Suivant : Étiquettes et ignorez.
Sélectionnez Suivant : Vérifier + créer.
Passez en revue les paramètres, puis sélectionnez Créer.
La création de l’instance Redis prend plusieurs minutes. Vous pouvez suivre la progression sur la page Vue d’ensemble de Redis managé Azure. Lorsque État indique En cours d’exécution, le cache est prêt pour utilisation.
Créer une instance Cache Redis Azure
Pour créer un cache, connectez-vous au Portail Azure. Dans le menu du portail, sélectionnez Créer une ressource.
Dans le volet Démarrer, entrez Azure Cache pour Redis dans la barre de recherche. Dans les résultats de la recherche, localisez Azure Cache pour Redis, puis sélectionnez Créer.
Dans le volet Nouveau cache Redis, sous l’onglet Informations de base, configurez les paramètres suivants pour votre cache :
Setting Action Description Abonnement Sélectionnez votre abonnement Azure. L’abonnement à utiliser pour créer l’instance d’Azure Cache pour Redis. Groupe de ressources Sélectionnez un groupe de ressources ou choisissez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. Le nom du groupe de ressources dans lequel créer votre cache et d’autres ressources. En plaçant toutes les ressources de votre application dans un seul groupe de ressources, vous pouvez facilement les gérer ou les supprimer ensemble. Nom DNS Entrez un nom unique. Le nom du cache doit être une chaîne de 1 à 63 caractères ne contenant que des chiffres, des lettres et des traits d’union. Le nom doit commencer et se terminer par un chiffre ou une lettre, et ne doit pas contenir de traits d’union consécutifs. Le nom d’hôte de votre instance de cache est \<DNS name>.redis.cache.windows.net
.Emplacement Sélectionnez un emplacement. Une région Azure proche d’autres services qui utilisent votre cache. Référence SKU du cache Sélectionnez une référence SKU. La référence SKU détermine les paramètres de taille, de performance et de fonctionnalités disponibles pour le cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis. Taille du cache Sélectionnez une taille de cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis. Sélectionnez l’onglet Mise en réseau ou sélectionnez Suivant : Mise en réseau.
Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache.
Sélectionnez l’onglet Avancé ou sélectionnez Suivant : avancé.
Dans le volet Avancé, vérifiez ou sélectionnez une méthode d’authentification en fonction des informations suivantes :
- Par défaut, pour un nouveau cache Basic, Standard ou Premium, l’authentification Microsoft Entra est activée et l’authentification par clés d’accès est désactivée.
- Pour les caches Basic ou Standard, vous pouvez choisir la sélection d'un port non TLS.
- Pour les caches Standard et Premium, vous pouvez choisir d'activer les zones de disponibilité. Vous ne pouvez pas désactiver les zones de disponibilité une fois le cache créé.
- Pour un cache Premium, configurez les paramètres afin d’utiliser un port non-TLS, le clustering, l’identité managée et la persistance des données.
Important
Pour bénéficier d’une sécurité optimale, nous vous recommandons d’utiliser si possible Microsoft Entra ID avec des identités managées pour autoriser les requêtes sur votre cache. L’autorisation avec Microsoft Entra ID et les identités managées offre davantage de sécurité et de facilité d’utilisation que l’autorisation par clé d’accès partagée. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser Microsoft Entra ID pour l’authentification du cache.
(Facultatif) Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes.
(Facultatif) Sous l’onglet Étiquettes, entrez un nom et une valeur d’étiquette si vous voulez catégoriser votre ressource de cache.
Sélectionnez le bouton Vérifier + Créer.
Sous l’onglet Vérifier et créer, Azure vérifie automatiquement votre configuration.
Une fois que le message vert Validation réussie s’affiche, sélectionnez Créer.
Le déploiement d’un nouveau cache prend plusieurs minutes. Vous pouvez surveiller la progression du déploiement dans le volet Vue d’ensemble d’Azure Cache pour Redis. Lorsque État affiche En cours d’exécution, le cache est prêt à être utilisé.
Récupération du nom d’hôte, des ports et des clés d’accès à partir du portail Azure
Pour connecter votre serveur Azure Cache pour Redis, le client de cache a besoin du nom d’hôte, des ports et d’une clé pour le cache. Certains clients peuvent référencer ces éléments par des noms légèrement différents. Vous pouvez récupérer le nom d’hôte, les ports et les clés d’accès à partir du portail Azure.
Pour obtenir le nom d’hôte et les ports de votre cache, sélectionnez Vue d’ensemble dans le menu Ressource. Le nom d’hôte est de la forme
<DNS name>.redis.cache.windows.net
.Pour obtenir les clés d’accès, sélectionnez Authentification dans le menu Ressource. Sélectionnez ensuite l’onglet Clés d’accès.
Configurer l’environnement de travail
Les étapes suivantes montrent comment configurer l’environnement de travail pour l’application Java. Vous pouvez choisir de vous authentifier auprès d’Azure Cache pour Redis à l’aide de Microsoft Entra ID (recommandé) ou de clés d’accès.
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
Remplacez les espaces réservés par les valeurs suivantes :
<your-host-name>
: nom de l’hôte DNS. Pour obtenir le nom d’hôte et les ports de votre cache, sélectionnez Vue d’ensemble dans le menu Ressource. Le nom d’hôte est de la forme<DNS name>.redis.cache.windows.net
.<user-name>
: ID d’objet de votre identité managée ou de votre principal de service.Vous pouvez obtenir le nom d’utilisateur en procédant comme suit :
Créer une nouvelle application Java
Utilisez maven pour générer une nouvelle application de démarrage rapide :
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
Accédez au nouveau répertoire de projet redis-jedis-test.
Ouvrez le fichier pom.xml. Dans le fichier, vous voyez une dépendance pour Jedis:
<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>
Fermez le fichier pom.xml.
Ouvrez App.java et remplacez le code par le code suivant :
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(); } }
Ce code vous montre comment se connecter à une instance de cache Azure pour Redis à l’aide du nom d’hôte de cache et des variables d’environnement de la clé. Le code stocke et récupère également une valeur de chaîne dans le cache. Les commandes
PING
etCLIENT LIST
sont également exécutées.Fermez le fichier App.java.
Générer et exécuter l’application
Exécutez la commande Maven suivante pour générer et exécuter l’application :
mvn compile exec:java -D exec.mainClass=example.demo.App
Dans la sortie suivante, vous pouvez voir que la clé Message
avait précédemment une valeur mise en cache. La valeur a été mise à jour vers une nouvelle valeur à l’aide de jedis.set
. Elle a également exécuté les commandes PING
et CLIENT LIST
.
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
Nettoyer les ressources
Si vous envisagez de continuer avec le tutoriel suivant, vous pouvez conserver les ressources créées dans le cadre de ce démarrage rapide afin de les réutiliser.
Sinon, si vous avez terminé l’exemple d’application de démarrage rapide, vous pouvez supprimer les ressources Azure créées dans ce démarrage rapide afin d’éviter les frais.
Important
La suppression d’un groupe de ressources est définitive ; le groupe de ressources et l’ensemble des ressources qu’il contient sont supprimés de manière permanente. Veillez à ne pas supprimer accidentellement des ressources ou un groupe de ressources incorrects. Si vous avez créé les ressources pour l'hébergement de cet exemple dans un groupe de ressources existant contenant des ressources que vous souhaitez conserver, vous pouvez supprimer chaque ressource individuellement, au lieu de supprimer l'intégralité du groupe de ressources.
Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
Dans la zone de texte Filtrer par nom, saisissez le nom de votre groupe de ressources. Les instructions relatives à cet article ont utilisé un groupe de ressources nommé
TestResources
. Sur votre groupe de ressources dans la liste des résultats, sélectionnez Tester les ressources, puis Supprimer le groupe de ressources.Saisissez le nom de votre groupe de ressources pour confirmer la suppression, puis sélectionnez Supprimer.
Après quelques instants, le groupe de ressources et toutes les ressources qu’il contient sont supprimés.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris à utiliser le cache Azure pour Redis à partir d’une application Java. Passez au guide de démarrage rapide suivant pour utiliser le cache Azure pour Redis avec une application web ASP.NET.