Partager via


Utiliser le cache Redis Azure au printemps

Azure Cache pour Redis fournit un magasin de données en mémoire basé sur le logiciel Redis. Redis améliore les performances et l’extensibilité d’une application qui utilise des magasins de données back-end fortement.

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 à Azure Cache 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 des utilisateurs de base de données et d’autres services Microsoft dans un emplacement centralisé, 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.

Prérequis

  • Un abonnement Azure - En créer un gratuitement

  • Java Development Kit (JDK) version 17 ou ultérieure.

  • Apache Maven, version 3.0 ou ultérieure.

  • cURL ou un utilitaire HTTP similaire pour tester la fonctionnalité.

  • Instance de cache Redis. Si vous n’en avez pas, consultez Démarrage rapide : Créer un cache Redis open source.

  • Une application Spring Boot. Si vous n’en avez pas, créez un projet Maven avec Spring Initializr. Veillez à sélectionner Maven Project et, sous Dépendances, ajoutez les dépendances Spring Web et Spring Data React Redis, puis sélectionnez Java version 8 ou ultérieure.

Mise en cache des données dans Azure Cache pour Redis

Avec une instance Azure Cache pour Redis, vous pouvez mettre en cache des données à l’aide de Spring Cloud Azure.

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>com.azure.spring</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.19.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Remarque

Cette facture de matériel (BOM) doit être configurée dans la <dependencyManagement> section 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 La version de Spring Cloud Azure à 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 :

  1. 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=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 pour username, suivez les instructions de la section Activer l’authentification microsoft Entra ID dans votre cache d’Utilisation de l’ID Microsoft Entra pour l’authentification du cache et copiez la valeur du nom d’utilisateur .

  2. 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 les journaux 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 de code. Le service gère l’infrastructure des applications Spring, ce qui permet aux développeurs de se concentrer sur leur code. Azure Spring Apps assure la gestion du cycle de vie en utilisant des outils complets, tels que la supervision et les diagnostics, la gestion des configurations, la découverte de services, l’intégration CI/CD, les déploiements bleus-verts, 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, poursuivez vers le centre de documentation Spring sur Azure.