Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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.
Conditions préalables
- Abonnement Azure : créez-en un gratuitement
- Apache Maven
Créer une instance Azure Managed Redis
Pour créer une instance Redis managée Azure, connectez-vous au portail Azure et sélectionnez Créer une ressource.
Dans la page Créer une ressource , tapez Azure Managed Redis dans la zone de recherche.
Sélectionnez la vignette Redis managée Azure, puis sélectionnez Créer.
Dans le volet Créer une instance Redis managée Azure , configurez les paramètres d’un nouveau cache sous l’onglet Informations de base .
Réglage Choisissez une valeur Descriptif 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 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 comporte moins de 45 caractères, il devrait 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.Région Dans la liste déroulante, sélectionnez un emplacement. Redis managé Azure est disponible dans certaines régions Azure. Niveau données Sélectionnez in-memory pour les performances élevées ou Flash pour réduire les caches de performances Les niveaux en mémoire incluent l’équilibrage, l’optimisation de la mémoire et l’optimisation du calcul. Utilisez le niveau Flash pour utiliser le stockage de données en mémoire (RAM) et disque (SSD). Taille du cache Déroulez et sélectionnez une taille. La taille du cache dépend du niveau. La plus petite taille est un niveau équilibré. La taille la plus grande du niveau en mémoire est un niveau mémoire optimisé. Niveau de performance Faites défiler la liste déroulante et sélectionnez une préférence de performances. Les performances dépendent du nombre de processeurs virtuels. Le nombre de processeurs virtuels varie selon le niveau. Les instances optimisées pour le calcul ont le plus grand nombre de processeurs virtuels. Pour obtenir des conseils sur le choix du niveau de performances approprié, consultez Choisir le niveau approprié.
Important
Tous les niveaux en mémoire qui utilisent plus de 235 Go de stockage sont en préversion publique, y compris mémoire optimisée M350 et versions ultérieures ; B350 équilibré et supérieur ; et optimisé pour le calcul X350 et versions ultérieures. Tous ces niveaux et versions ultérieures sont en préversion publique.
Tous les niveaux flash optimisés sont en préversion publique.
Sélectionnez Suivant : Mise en réseau , puis sélectionnez désactiver l’accès public et utiliser l’accès privé ou Activer l’accès public à partir de tous les réseaux.
Sélectionnez Suivant : Géoréplication active. Pour utiliser la géoréplication active, elle doit être activée pendant l’approvisionnement. Les caches sans géoréplication active ne peuvent pas être ajoutés ou joindre des groupes de géoréplication actifs ultérieurement. Pour plus d’informations, consultez Configurer la géoréplication active pour les instances d’Azure Managed Redis.
Sélectionnez l’onglet Suivant : Avancé .
Configurez les modules Redis que vous souhaitez ajouter à l’instance.
Définir la stratégie de clustering :
- Utiliser Enterprise pour utiliser RedisSearch ou d’autres modules
- Utilisez OSS pour un cache en cluster.
- Utilisez un cache non cluster (préversion) pour un cache non cluster.
Pour plus d’informations sur le choix d’une stratégie de clustering, consultez Stratégie de clustering.
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
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 Redis managée Azure. Il n’existe aucune option permettant d’activer la configuration d’un module après avoir créé un cache.
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.
Important
Vous ne pouvez pas modifier la stratégie de clustering d’une instance Redis managée Azure une fois que vous l’avez créée. Si vous utilisez RediSearch, la stratégie de cluster Entreprise est requise et
NoEvictionest 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.
Sélectionnez Suivant : Balises et passez à l’étape suivante en cliquant sur Ignorer.
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
Dans le portail Azure, recherchez et sélectionnez Cache Azure pour Redis.
Dans la page Cache Azure pour Redis , sélectionnez Créer un>cache Azure pour Redis.
Sous l’onglet Informations de base de la page Nouveau cache Redis , configurez les paramètres suivants :
- Abonnement : sélectionnez l'abonnement souhaité.
- Groupe de ressources : sélectionnez un groupe de ressources, ou sélectionnez Créer et entrez un nouveau nom de groupe de ressources. La mise en place de toutes vos ressources d’application dans le même groupe de ressources vous permet de les gérer ou de les supprimer facilement ensemble.
-
Nom : entrez un nom de cache unique dans la région. Le nom doit :
- Doit être une chaîne de 1 à 63 caractères.
- Contiennent uniquement des chiffres, des lettres et des traits d’union.
- Commencez et terminez par un nombre ou une lettre.
- Ne pas contenir des traits d’union consécutifs.
- Région : sélectionnez une région Azure près d’autres services qui utilisent votre cache.
- Référence SKU du cache : sélectionnez une référence SKU pour déterminer les tailles disponibles, les performances et les fonctionnalités de votre cache.
- 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. Le point de terminaison privé est recommandé pour la sécurité. Si vous sélectionnez Point de terminaison privé, sélectionnez Ajouter un point de terminaison privé et créez le point de terminaison privé.
Sélectionnez l’onglet Avancé , ou sélectionnez Suivant : Avancé.
Dans le volet Avancé , configurez les options suivantes :
- Sélectionnez Authentification Microsoft Entra ou Authentification par clés d’accès. L’authentification Microsoft Entra est activée par défaut.
- Choisissez s’il faut activer le port non TLS.
- Pour un cache Premium, vous pouvez configurer ou désactiver des zones de disponibilité. Vous ne pouvez pas désactiver les zones de disponibilité une fois le cache créé. Pour un cache Standard, les zones de disponibilité sont allouées automatiquement. Les zones de disponibilité ne sont pas disponibles pour la référence SKU de base.
- Pour un cache Premium, configurez les paramètres pour le nombre de réplicas, le clustering et le nombre de partitions, l’identité managée affectée par le système et la persistance des données.
L’image suivante montre l’onglet Avancé pour la référence SKU Standard.
Important
Utilisez l’ID Microsoft Entra avec des identités managées pour autoriser les demandes sur votre cache si possible. L’autorisation utilisant l’ID Microsoft Entra et l’identité managée offre une meilleure sécurité et est plus facile à utiliser que l’autorisation de clé d’accès partagé. 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.
Si vous le souhaitez, sélectionnez l’onglet Balises ou sélectionnez Suivant : Balises, puis entrez les noms et les valeurs des balises pour catégoriser vos ressources de cache.
Sélectionnez Vérifier + créer, puis une fois la validation réussie, sélectionnez Créer.
Le nouveau déploiement de cache prend plusieurs minutes. Vous pouvez surveiller la progression du déploiement sur la page Azure Cache pour Redis du portail. Lorsque l’état du cache s’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. Puis sélectionnez 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.
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
export REDIS_CACHE_PORT=10000
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
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.
<your-client-id>: ID d’application (client) de votre inscription d’application Azure AD.<your-client-secret>: la clé secrète du client pour l'enregistrement de votre application Azure AD.<your-tenant-id>: ID de locataire Azure Active Directory.Note
L’exemple ci-dessus utilise l’authentification par clé secrète client. Vous pouvez également configurer la
redis-authx-entraidbibliothèque pour utiliser d’autres méthodes d’authentification telles que l’identité managée ou le certificat client en modifiant laEntraIDTokenAuthConfigBuilderconfiguration dans votre code.
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.0Accé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:
Note
Microsoft a conclu un partenariat avec Redis, Inc. Dans le cadre de cette collaboration, la prise en charge de l’authentification d’ID Microsoft Entra a été déplacée du Kit de développement logiciel (SDK) Azure vers les extensions Redis Entra ID. La nouvelle
redis-authx-entraidbibliothèque fournit des fonctionnalités d’authentification améliorées et est l’approche recommandée pour l’authentification d’ID Microsoft Entra avec Azure Cache pour Redis.<dependency> <groupId>redis.clients.authentication</groupId> <artifactId>redis-authx-entraid</artifactId> <version>0.1.1-beta2</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>6.0.0</version> </dependency>Fermez le fichier pom.xml.
Ouvrez App.java et remplacez le code par le code suivant :
package example.demo; import com.azure.identity.DefaultAzureCredentialBuilder; import redis.clients.authentication.core.TokenAuthConfig; import redis.clients.authentication.entraid.AzureTokenAuthConfigBuilder; import redis.clients.jedis.DefaultJedisClientConfig; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.UnifiedJedis; import redis.clients.jedis.authentication.AuthXManager; import java.util.Set; /** * Redis test with Microsoft Entra ID authentication using redis-authx-entraid * For more information about Redis authentication extensions, see: * https://redis.io/docs/latest/develop/clients/jedis/amr/ * */ public class App { public static void main( String[] args ) { String REDIS_CACHE_HOSTNAME = System.getenv("REDIS_CACHE_HOSTNAME"); int REDIS_PORT = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "10000")); String SCOPES = "https://redis.azure.com/.default"; // The scope for Azure Cache for Redis // Build TokenAuthConfig for Microsoft Entra ID authentication TokenAuthConfig tokenAuthConfig = AzureTokenAuthConfigBuilder.builder() .defaultAzureCredential(new DefaultAzureCredentialBuilder().build()) .scopes(Set.of(SCOPES)) .tokenRequestExecTimeoutInMs(2000) .build(); DefaultJedisClientConfig config = DefaultJedisClientConfig.builder() .authXManager(new AuthXManager(tokenAuthConfig)) .ssl(true) .build(); UnifiedJedis jedis = new UnifiedJedis( new HostAndPort(REDIS_CACHE_HOSTNAME, REDIS_PORT), config); // Test the connection System.out.println(String.format("Database size is %d", jedis.dbSize())); // 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")); 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
PINGcommandes 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. L’application a également exécuté les PING commandes.
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!
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.