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 récupérer des données du cache.

Il existe également des fournisseurs de mise en cache dans .NET Core. Pour commencer rapidement à utiliser Redis avec des modifications minimales apportées à votre code existant, consultez :

Passer au code sur GitHub

Clonez le dépôt GitHub https://github.com/Azure-Samples/azure-cache-redis-samples et accédez au répertoire quickstart/aspnet-core afin d’afficher le code source complet pour les étapes à suivre.

Le répertoire quickstart/aspnet-core est également configuré en tant que modèle Azure Developer CLI (azd). 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 illustrant les fournisseurs de mise en cache de base ASP.NET : ASP.NET core eShop à l’aide de fournisseurs de mise en cache Redis.

Fonctionnalités incluses :

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

Les instructions de déploiement se trouvent dans la README.md.

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

Activer l’authentification Microsoft Entra ID sur votre cache

Si vous avez un cache, vérifiez que l’authentification Microsoft Entra a été activée. Si ce n’est pas le cas, activez-la. Nous vous recommandons d’utiliser Microsoft Entra ID pour vos applications.

  1. Dans le portail Azure, sélectionnez l’instance Azure Cache pour Redis pour laquelle vous voulez utiliser l’authentification basée sur des jetons Microsoft Entra.

  2. Dans le menu Ressource, sélectionnez Authentification.

  3. Dans le volet actif, vérifiez si Activer l’authentification Microsoft Entra est coché. Si c’est le cas, vous pouvez continuer.

  4. Sélectionnez Activer l’authentification Microsoft Entra, puis entrez le nom d’un utilisateur valide. L’utilisateur que vous spécifiez est automatiquement associé à la stratégie d’accès Propriétaire des données par défaut lorsque vous sélectionnez Enregistrer. Vous pouvez également entrer une identité managée ou un principal de service pour vous connecter à votre instance de cache.

    Capture d’écran illustrant l’authentification sélectionnée dans le menu Ressources et l’activation de l’authentification Microsoft Entra cochée.

  5. Une boîte de dialogue contextuelle s’affiche pour vous demander si vous souhaitez mettre à jour votre configuration, et vous informer que l’opération prend plusieurs minutes. Sélectionnez Oui.

    Important

    Une fois l’opération d’activation terminée, les nœuds de votre instance de cache redémarrent pour charger la nouvelle configuration. Nous vous recommandons d’effectuer cette opération pendant votre fenêtre de maintenance ou en dehors de vos heures de pointe. L’opération peut prendre jusqu’à 30 minutes.

Pour plus d’informations sur l’utilisation de Microsoft Entra ID avec l’interface de ligne de commande Azure (Azure CLI) consultez les pages de référence pour l’identité.

Ajouter la stratégie d’accès Redis

Vous devez affecter une stratégie d’accès aux données à l’identité qui accède à Azure Cache pour Redis. Dans cet exemple, vous affectez 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. Sélectionnez Paramètres menu Ressource dans le cache, puis sélectionnez la Configuration de l’accès aux données.

  2. Sur la page Configuration de l’accès aux données, sélectionnez Ajouter > Nouvel utilisateur Redis dans la navigation supérieure.

    Capture d’écran montrant l’écran de configuration de l’accès aux données.

  3. Sur la page Nouvel utilisateur Redis, sélectionnez la stratégie Contributeur de données, puis sélectionnez Suivant : Utilisateurs Redis.

  4. 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 de travail avec le membre sélectionné mis en évidence par un encadré rouge.

  5. 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 la fenêtre de commande, exécutez la commande suivante pour stocker un nouveau secret nommé RedisHostName, après avoir remplacé les espaces réservés (y compris les crochets pointus) pour le nom de cache et la clé d’accès principale :

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

Pour utiliser l’instance Azure Managed Redis (préversion), stockez un nouveau secret appelé RedisHostName comme suit :

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

Se connecter au cache avec RedisConnection

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

_redisConnection = await _redisConnectionFactory;

La classe 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 RedisConnection garantit qu’il existe toujours une connexion saine au cache en gérant l’instance de ConnectionMultiplexer à partir de StackExchange.Redis. La classe RedisConnection recrée la connexion lorsqu’une connexion est perdue et ne peut pas se reconnecter automatiquement.

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

Vues de disposition dans l’exemple

La mise en page d’accueil de cet exemple est stockée dans le fichier _Layout.cshtml. À partir de cette page, vous démarrez le test de cache réel en cliquant sur Test Azure Cache pour Redis à partir de cette page.

  1. Ouvrez Views\Shared\_Layout.cshtml.

  2. Vous devriez en voir 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 de la page d’accueil.

Affichage des données à partir du cache

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

  1. Dans l’Explorateur de solutions, développez le dossier Vues et cliquez avec le bouton droit sur le dossier Accueil.

  2. Vous devriez voir ce code 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. Exécutez la commande suivante dans la fenêtre de commande pour générer l’application :

    dotnet build
    
  2. Exécutez ensuite l’application avec la commande suivante :

    dotnet run
    
  3. Accédez à https://localhost:5001 dans votre navigateur web.

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

Capture d’écran du test simple réalisé en local.

Nettoyer les ressources

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

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

Important

La suppression d’un groupe de ressources est irréversible. Quand vous supprimez un groupe de ressources, toutes les ressources qu’il contient 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 contenant des ressources que vous souhaitez conserver, vous pouvez supprimer chaque ressource individuellement, au lieu de supprimer l’intégralité du groupe de ressources.

Pour supprimer un groupe de ressources

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

  2. Recherchez le groupe de ressources à supprimer.

    S’il existe de nombreux groupes de ressources, utilisez la zone Filtrer pour n’importe quel champ..., tapez le nom du groupe de ressources que vous avez créé pour cet article. Sélectionnez le groupe de ressources dans la liste des résultats.

    Capture d’écran montrant une liste de groupes de ressources à supprimer dans le volet de travail.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Vous êtes invité à confirmer la suppression du groupe de ressources. Saisissez le nom de votre groupe de ressources pour confirmer, puis sélectionnez Supprimer.

    Capture d’écran montrant un formulaire qui demande le nom de la ressource pour confirmer la suppression.

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