Utiliser le cache Redis Azure au printemps
Cache Azure pour Redis fournit un magasin de données en mémoire basé sur le logiciel Redis. Redis améliore considérablement les performances et l’extensibilité d’une application qui utilise des magasins de données principaux.
Ce tutoriel montre comment utiliser un cache Redis pour stocker et récupérer des données dans une application Spring Boot.
Dans ce tutoriel, nous incluons deux méthodes d’authentification : l’authentification Microsoft Entra et l’authentification Redis. L’onglet Sans mot de passe affiche l’authentification Microsoft Entra et l’onglet Mot de passe affiche l’authentification Redis.
L’authentification Microsoft Entra est un mécanisme de connexion au Cache Azure pour Redis à l’aide d’identités définies dans l’ID Microsoft Entra. Avec l’authentification Microsoft Entra, vous pouvez gérer les identités utilisateur de base de données et d’autres services Microsoft dans un emplacement central, ce qui simplifie la gestion des autorisations.
L’authentification Redis utilise des mots de passe dans Redis. Si vous choisissez d’utiliser des mots de passe comme informations d’identification, vous devez gérer les mots de passe par vous-même.
Conditions préalables
Un abonnement Azure - en créer un gratuitement.
Kit de développement Java (JDK) version 17 ou ultérieure.
Apache Maven, version 3.0 ou ultérieure.
cURL ou un utilitaire HTTP similaire pour tester les fonctionnalités.
Instance de cache Redis. Si vous n’en avez pas, consultez démarrage rapide : Créer un cache Redis open source.
L'application Spring Boot. Si vous n’en avez pas, créez un projet Maven avec le Spring Initializr. Assurez-vous de sélectionner Maven Project et, sous Dependencies, d’ajouter les dépendances Spring Web et Spring Data Reactive Redis, puis de choisir la version Java 8 ou supérieure.
Mise en cache des données vers le cache Azure pour Redis
Avec une instance Azure Cache pour Redis, vous pouvez mettre en cache des données à l’aide d’Azure Spring Cloud.
Pour installer Spring Cloud Azure Starter Data Redis avec le module Lettuce, ajoutez les dépendances suivantes à votre fichier pom.xml :
<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>org.springframework.boot</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.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Remarque
Cette bill of Material (BOM) doit être configurée dans la section <dependencyManagement>
de votre fichier pom.xml. Cette configuration garantit que toutes les dépendances Azure Spring Cloud utilisent la même version. Pour plus d’informations sur la version utilisée pour ce boM, consultez Quelle version de Spring Cloud Azure dois-je utiliser.
Coder l’application
Pour utiliser un cache Redis pour stocker et récupérer des données, configurez l’application en procédant comme suit :
Configurez les informations d’identification du cache Redis dans le fichier de configuration application.properties, comme illustré dans l’exemple suivant.
spring.data.redis.host=<your-redis-name>.redis.cache.windows.net spring.data.redis.port=10000 spring.data.redis.username=<your-redis-username> spring.data.redis.ssl.enabled=true spring.data.redis.azure.passwordless-enabled=true
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
Remarque
Pour obtenir la valeur de
username
, suivez les instructions de la Activer l’authentification Microsoft Entra ID dans votre cache section Utiliser l’ID Microsoft Entra pour l’authentification du cache, puis copiez la valeur nom d’utilisateur.Modifiez le fichier de classe de démarrage pour afficher le contenu suivant. Ce code stocke et récupère les données.
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)); } }
Ensuite, démarrez l’application. L’application récupère des données à partir de votre cache Redis. Vous devez voir des logs similaires à l’exemple suivant :
Add a key is done
Return the value from the cache: Hello World
Déployer sur Azure Spring Apps
Maintenant que vous disposez de l’application Spring Boot en cours d’exécution localement, il est temps de le déplacer en production. Azure Spring Apps facilite le déploiement d’applications Spring Boot sur Azure sans aucune modification du code. Le service gère l’infrastructure des applications Spring afin que les développeurs puissent se concentrer sur leur code. Azure Spring Apps fournit une gestion du cycle de vie à l’aide de la surveillance et des diagnostics complets, de la gestion de la configuration, de la découverte de services, de l’intégration CI/CD, des déploiements bleu-vert, etc. Pour déployer votre application sur Azure Spring Apps, consultez Déployer votre première application sur Azure Spring Apps.
Étapes suivantes
Pour en savoir plus sur Spring et Azure, passez au centre de documentation Spring sur Azure.