Partager via


Démarrage rapide : Utiliser Azure Cache pour Redis avec une application web ASP.NET Core

Dans ce guide de démarrage rapide, vous incorporez Azure Cache pour Redis à une application web ASP.NET Core qui se connecte à Azure Cache pour Redis afin de stocker et obtenir des données à partir du cache.

Vous pouvez utiliser un fournisseur de mise en cache dans votre application web ASP.NET Core. Pour commencer rapidement à utiliser Redis avec des modifications minimales apportées à votre code existant, consultez :

Passer au code

Cet article explique comment modifier le code d’un exemple d’application afin de créer une application fonctionnelle qui se connecte à Azure Cache pour Redis.

Si vous voulez passer directement au code, consultez l’exemple de démarrage rapide ASP.NET Core sur GitHub.

Vous pouvez cloner le référentiel GitHub des exemples Azure Cache pour Redis, puis accéder au répertoire quickstart/aspnet-core pour afficher le code source terminé pour les étapes décrites dans cet article.

Le répertoire quickstart/aspnet-core est également configuré en tant que modèle Azure Developer CLI. Utilisez l’outil open source azd pour simplifier l’approvisionnement et le déploiement à partir d’un environnement local vers Azure. Si vous le souhaitez, exécutez la commande azd up pour provisionner automatiquement une instance Azure Cache pour Redis et configurer l’exemple d’application local pour s’y connecter :

azd up

Explorer l’exemple eShop

À l’étape suivante, vous pouvez voir une application eShop de scénario réel qui illustre les fournisseurs de mise en cache ASP.NET Core : ASP.NET Core eShop à l’aide de fournisseurs de mise en cache Redis.

Voici quelques fonctionnalités :

  • Mise en cache distribuée Redis
  • Fournisseur d’état de session Redis

Les instructions de déploiement se trouvent dans le fichier README.md dans l’exemple de démarrage rapide ASP.NET Core sur GitHub.

Prérequis

Création d'un cache

  1. Pour créer un cache, connectez-vous au Portail Azure. Dans le menu du portail, sélectionnez Créer une ressource.

    Capture d’écran montrant l’option Créer une ressource mise en évidence dans le volet de navigation gauche du portail Azure.

  2. 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.

    Capture d’écran montrant la Place de marché Azure avec Azure Cache pour Redis dans la zone de recherche et le bouton Créer mis en évidence.

  3. 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.
  4. Sélectionnez l’onglet Mise en réseau ou sélectionnez Suivant : Mise en réseau.

  5. Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache.

  6. Sélectionnez l’onglet Avancé ou sélectionnez Suivant : Avancé.

  7. Sous l’onglet Avancé, cochez la case Authentification Microsoft Entra pour activer l’authentification Microsoft Entra.

    Capture d’écran montrant le volet Avancé et l’option disponible à sélectionner.

    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.

  8. (Facultatif) Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes.

  9. (Facultatif) Sous l’onglet Étiquettes, entrez un nom et une valeur d’étiquette si vous voulez catégoriser votre ressource de cache.

  10. Sélectionnez le bouton Vérifier + Créer.

    Sous l’onglet Vérifier et créer, Azure vérifie automatiquement votre configuration.

  11. 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é.

Obtenir le nom d’hôte

Pour se connecter à votre serveur Azure Cache pour Redis, le client de cache a besoin du nom d’hôte du cache et d’autres informations. Certains clients peuvent faire référence aux éléments à l’aide de noms légèrement différents. Vous pouvez obtenir le nom d’hôte dans le Portail Azure.

  1. Dans le Portail Azure, accédez à votre cache.
  2. Dans le menu du service, sélectionnez Vue d’ensemble.
  3. Sous Essentials, pour Nom d’hôte, sélectionnez l’icône Copier afin de copier la valeur du nom d’hôte. La valeur du nom d’hôte a la forme <DNS name>.redis.cache.windows.net.

Capture d’écran montrant les propriétés d’Azure Cache pour Redis avec le nom d’hôte mis en surbrillance.

Ajouter une nouvelle stratégie d’accès utilisateur Redis

L’identité qui accède à Azure Cache pour Redis doit se voir attribuer une stratégie d’accès aux données. Dans cet exemple, vous attribuez une stratégie d’accès aux données au même compte Microsoft Entra ID que vous utilisez pour vous connecter à Azure CLI ou Visual Studio.

  1. Dans le Portail Azure, accédez à votre cache.

  2. Dans le menu du service, sous Paramètres, sélectionnez Configuration de l’accès aux données.

  3. Dans le volet Configuration de l’accès aux données, sélectionnez Ajouter>Nouvel utilisateur Redis.

    Capture d’écran montrant le volet de configuration de l’accès aux données avec Nouvel utilisateur Redis mis en surbrillance.

  4. Dans le volet Nouvel utilisateur Redis, sélectionnez la stratégie Contributeur de données, puis sélectionnez Suivant : Utilisateurs Redis.

  5. Choisissez Sélectionner un membre pour ouvrir le menu volant. Recherchez votre compte d’utilisateur et sélectionnez-le dans les résultats.

    Capture d’écran montrant l’onglet Utilisateur Redis dans le volet Nouvel utilisateur Redis avec Sélectionner un membre mis en surbrillance.

  6. Sélectionnez Vérifier + affecter pour attribuer la stratégie à l’utilisateur sélectionné.

Ajouter un secret local pour le nom d’hôte

Dans votre Fenêtre Commande, exécutez la commande suivante pour stocker un nouveau secret nommé RedisHostName. Dans le code, remplacez les espaces réservés, y compris les crochets pointus, par le nom de votre cache et la clé d’accès primaire :

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

Se connecter au cache en utilisant RedisConnection

La classe RedisConnection gère la connexion à votre cache. La connexion est établie dans cette instruction dans HomeController.cs dans le dossier Contrôleurs :

_redisConnection = await _redisConnectionFactory;

Le fichier RedisConnection.cs inclut les espaces de noms StackExchange.Redis et Azure.Identity en haut du fichier afin d’inclure des types essentiels pour se connecter à Azure Cache pour Redis :

using StackExchange.Redis;
using Azure.Identity;

Le code de la classe RedisConnection vérifie qu’il existe toujours une connexion saine au cache. La connexion est gérée par l’instance ConnectionMultiplexer depuis StackExchange.Redis. La classe RedisConnection recrée la connexion quand une connexion est perdue et ne peut pas se reconnecter automatiquement.

Pour plus d’informations, consultez StackExchange.Redis et le code dans le référentiel GitHub StackExchange.Redis.

Vérifier les vues de disposition dans l’exemple

La mise en page d’accueil de cet exemple est stockée dans le fichier _Layout.cshtml. Dans la section suivante, vous testez le cache à l’aide du contrôleur que vous ajoutez ici.

  1. Ouvrez Views\Shared\_Layout.cshtml.

  2. Vérifiez que la ligne suivante se trouve dans <div class="navbar-header"> :

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

Capture d’écran montrant une page d’accueil sur une page web.

Afficher des données à partir du cache

Dans la page d’accueil, sélectionnez Test d’Azure Cache pour Redis dans la barre de navigation pour voir l’exemple de sortie.

  1. Dans l’Explorateur de solutions, développez le dossier Vues et faites un clic droit sur le dossier Accueil.

  2. Vérifiez que le code suivant se trouve dans le fichier RedisCache.cshtml :

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

Exécutez l’application localement.

  1. Dans une fenêtre d’invite de commandes, générez l’application à l’aide de la commande suivante :

    dotnet build
    
  2. Exécutez l’application à l’aide de cette commande :

    dotnet run
    
  3. Dans un navigateur Web, accédez à https://localhost:5001.

  4. Dans la barre de navigation de la page web, sélectionnez Test d’Azure Cache pour Redis pour tester l’accès au cache.

Capture d’écran montrant un test simple effectué localement.

Nettoyer les ressources

Si vous souhaitez continuer à utiliser les ressources que vous avez créées dans cet article, conservez le groupe de ressources.

Sinon, pour éviter les frais liés aux ressources, si vous en avez terminé avec les ressources, vous pouvez supprimer le groupe de ressources Azure que vous avez créé.

Avertissement

La suppression d’un groupe de ressources est irréversible. Quand vous supprimez un groupe de ressources, toutes les ressources contenues dans ce groupe sont supprimées définitivement. Veillez à ne pas supprimer accidentellement des ressources ou un groupe de ressources incorrects. Si vous avez créé les ressources dans un groupe de ressources existant qui contient des ressources que vous voulez conserver, vous pouvez supprimer chaque ressource individuellement au lieu de supprimer le groupe de ressources.

Supprimer un groupe de ressources

  1. Connectez-vous au Portail Azure, puis sélectionnez Groupes de ressources.

  2. Sélectionnez le groupe de ressources à supprimer.

    S’il existe de nombreux groupes de ressources, dans Filtrer un champ, entrez le nom du groupe de ressources que vous avez créé pour effectuer les étapes de cet article. Dans la liste des résultats de la recherche, sélectionnez le groupe de ressources.

    Capture d’écran montrant une liste de groupes de ressources où choisir le groupe à supprimer.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Dans le volet Supprimer un groupe de ressources, entrez le nom de votre groupe de ressources pour confirmer, puis sélectionnez Supprimer.

    Capture d’écran montrant une zone qui nécessite l’entrée du nom de la ressource pour confirmer la suppression.

Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.