Présentation de Redis managé Azure

Azure Managed Redis fournit un magasin de données en mémoire basé sur le logiciel Redis Enterprise . Redis Enterprise améliore les performances et la fiabilité de l’édition communautaire de Redis, tout en conservant la compatibilité. Microsoft exploite le service, l’héberge sur Azure, et toute application au sein ou en dehors de Azure peut l’utiliser. Pour plus d’informations sur les différents composants d’Azure Managed Redis, consultez Architecture d’Azure Managed Redis.

Azure Managed Redis peut améliorer les performances et la scalabilité d’une application qui utilise abondamment les magasins de données back-end. Il est en mesure de traiter de grands volumes de demandes d’application en conservant rapidement les données fréquemment consultées dans la mémoire du serveur, qui peuvent être écrites et lues rapidement.

Redis constitue une solution de stockage de données à faible latence et à haut débit critique pour les applications modernes. En outre, Redis est de plus en plus utilisé pour les applications non-cache, y compris l'intégration des données, la déduplication, la messagerie et les classements.

Azure Managed Redis peut être déployé autonome ou déployé avec d’autres services d’application ou de base de données Azure, tels qu’Azure Container Apps, Azure App Service, Azure Functions, Azure SQL ou Azure Cosmos DB.

Scénarios clés

Azure Managed Redis améliore les performances des applications grâce à la prise en charge de modèles d’architecture d’application courants. Voici quelques-uns des modèles les plus courants :

Modèle Descriptif
Cache de données Les bases de données sont souvent trop grandes pour être chargées directement dans un cache. Utilisez le modèle cache-aside pour charger des données dans le cache uniquement si nécessaire. Lorsque le système apporte des modifications aux données, il peut également mettre à jour le cache, qui est ensuite distribué à d’autres clients. En outre, le système peut définir un délai d’expiration pour les données ou utiliser une stratégie d’éviction pour déclencher les mises à jour de données dans le cache.
Cache de contenu De nombreuses pages web sont générées à partir de modèles qui utilisent du contenu statique, comme des en-têtes, des pieds de page et des bannières. Ces éléments statiques ne doivent pas changer souvent. Par rapport aux magasins de données back-end, l’utilisation d’un cache en mémoire permet d’accéder rapidement au contenu statique. Ce modèle réduit le temps de traitement et la charge du serveur, améliorant la réactivité des serveurs web. Il peut réduire le nombre de serveurs nécessaires pour gérer les charges. Azure Managed Redis propose le fournisseur de caches de sortie Redis pour la prise en charge de ce modèle avec ASP.NET.
Magasin de sessions Ce modèle est souvent utilisé avec les paniers d’achat et d’autres données d’historique utilisateur qu’une application web peut associer avec les cookies des utilisateurs. Le stockage de trop de données dans un cookie peut affecter négativement les performances à mesure que la taille du cookie augmente et est passée et validée avec chaque requête. Une solution classique consiste à utiliser le cookie comme clé pour interroger les données dans une base de données. Lorsque vous utilisez un cache en mémoire, comme Azure Redis managé, l’association d’informations à un utilisateur est plus rapide que l’interaction avec une base de données relationnelle complète.
Déduplication Souvent, vous devez déterminer si une action s’est déjà produite dans un système, par exemple si un nom d’utilisateur est pris ou si un client a déjà envoyé un e-mail. Dans Azure Managed Redis, les filtres de Bloom permettent de détecter rapidement les doublons et d’éviter des problèmes.
Classements Redis offre une prise en charge simple et puissante pour le développement de classements de toutes sortes à l’aide de la structure de données d'ensemble trié. En outre, l’utilisation de la géoréplication active peut autoriser le partage mondial d’un classement.
Mise en file d’attente des travaux et des messages Les applications ajoutent fréquemment des tâches à une file d’attente quand l’exécution des opérations associées à la requête prend un certain temps. Les opérations dont l’exécution est plus longue sont mises en file d’attente pour être traitées en séquence, souvent par un autre serveur. Cette méthode est appelée mise en file d’attente des tâches. Azure Managed Redis fournit une file d’attente distribuée pour activer ce modèle dans votre application.
Accélération PowerBI/Analytique Vous pouvez utiliser le pilote ODBC Redis pour tirer parti de Redis pour les cas d’usage de décisionnel, de création de rapports et d’analytique. Étant donné que Redis est généralement beaucoup plus rapide que les bases de données relationnelles, l’utilisation de Redis de cette façon peut augmenter considérablement la réactivité des requêtes.
Transactions distribuées Les applications nécessitent parfois qu’une série de commandes sur un magasin de données en arrière-plan soit exécutée comme une seule opération atomique. Toutes les commandes doivent réussir, ou elles devront toutes être restaurées à leur état initial. Azure Managed Redis prend en charge l’exécution d’un lot de commandes comme transaction unique.

Version de Redis

Azure Managed Redis prend en charge Redis version 7.4.x. Pour plus d’informations, consultez Guide pratique pour mettre à niveau la version de votre instance d’Azure Managed Redis.

Choix du niveau approprié

Quatre niveaux de Azure Redis managé sont disponibles, chacun présentant des caractéristiques de performances et des niveaux de prix différents.

Niveaux et références SKU en un clin d’œil

Voici trois niveaux qui stockent des données en mémoire :

  • Mémoire optimisée est idéal pour les cas d’utilisation nécessitant beaucoup de mémoire et un ratio mémoire/processeur virtuel élevé (8:1), mais qui n’ont pas besoin des performances de débit les plus élevées. Il fournit un niveau de prix inférieur pour les scénarios où moins de puissance de traitement ou de débit est nécessaire, ce qui en fait un excellent choix pour les environnements de développement et de test.

  • Équilibré (mémoire et calcul) offre un ratio mémoire/processeur virtuel équilibré (4:1), ce qui le rend idéal pour les charges de travail standard. Ce niveau fournit un équilibre sain de ressources de mémoire et de calcul.

  • Optimisé pour le calcul est conçu pour des charges de travail nécessitant un débit maximal en mémoire, avec un ratio mémoire/processeur virtuel faible (2:1). Ce niveau est idéal pour les applications qui demandent les performances les plus élevées.

    Image d’une table qui montre une comparaison des SKU et des catégories.

Voici le niveau qui stocke les données en mémoire et sur le disque :

  • Optimisé Flash permet aux clusters Redis de déplacer automatiquement les données moins fréquemment sollicitées de la mémoire (RAM) vers le stockage NVMe. Cette réduction de l’utilisation de la mémoire peut réduire les performances, mais elle permet une mise à l’échelle économique des caches avec des jeux de données volumineux.

    Tableau montrant les niveaux Flash Optimisés dans une table affichant l’utilisation du stockage.

Vous pouvez également utiliser la fonctionnalité de persistance des données pour stocker des données sur disque pour les niveaux en mémoire. La persistance des données stocke une copie de sauvegarde de données sur disque pour une récupération rapide si vous rencontrez une panne inattendue. La persistance des données est différente du niveau Optimisé flash, qui est conçu pour stocker des données sur disque pour les opérations classiques.

Le stockage de certaines données sur disque à l’aide du niveau Mémoire optimisée flash n’augmente pas la résilience des données. Vous pouvez également utiliser la persistance des données sur le niveau Optimisé Flash.

Remarque

Pour plus d’informations sur la conception du niveau Flash Optimized, consultez Architecture d’Azure Managed Redis.

Important

Tous les niveaux en mémoire vive qui utilisent plus de 350 Go de stockage sont disponibles en préversion, notamment Memory Optimized M500 et supérieurs, Balanced B500 et supérieurs, et Compute Optimized X500 et supérieurs. Tous ces niveaux et versions ultérieures sont en version préliminaire.

Les niveaux optimisés pour Flash A2000 et A4500 sont en préversion.

Comparaison des fonctionnalités

Le tableau suivant décrit certaines des fonctionnalités prises en charge par chaque niveau :

Description de la fonctionnalité Mémoire optimisée Équilibré Optimisé pour le calcul Optimisé pour le stockage flash
Taille (Go) 12 - 1 920 0,5 - 960 3 - 720 250 - 4 500
Contrat de niveau de service (SLA) Oui Oui Oui Oui
Chiffrement des données en transit Oui (point de terminaison privé) Oui (point de terminaison privé) Oui (point de terminaison privé) Oui (point de terminaison privé)
Réplication et basculement Oui Oui Oui Oui
Isolement réseau Oui Oui Oui Oui
Authentification basée sur Microsoft Entra ID Oui Oui Oui Oui
Mise à l'échelle Oui Oui Oui Oui
Disponibilité élevée *Oui *Oui *Oui *Oui
Persistance des données Oui Oui Oui Oui
Géoréplication Oui (actif) Oui (actif) Oui (actif) Non
Instances non cluster Oui Oui Oui Non
Journaux d’audit de connexion Oui (basé sur un événement) Oui (basé sur un événement) Oui (basé sur un événement) Oui (basé sur un événement)
Structures de données JSON (autrement dit, Redis JSON) Oui Oui Oui Oui
Fonctionnalité de recherche (y compris la recherche vectorielle) Oui Oui Oui Non
Structures de données probabilistes (autrement dit, Redis Bloom) Oui Oui Oui Oui
Fonctionnalité de base de données de série chronologique (autrement dit, Redis TimeSeries) Oui Oui Oui Oui
Importation/exportation Oui Oui Oui Oui

* Lorsque la haute disponibilité est activée, une instance Redis gérée Azure est déployée avec des shards principaux et répliques distribués sur au moins deux nœuds.

Dans les régions qui prennent en charge les zones de disponibilité, Azure Managed Redis distribue les nœuds entre les zones par défaut. Pour plus d’informations, consultez Fiabilité dans Azure Managed Redis.

Important

Les options de référence SKU B0 et B1 équilibrée ne prennent pas en charge la géoréplication active.

Remarque

La prise en charge du scale-down est limitée dans certaines situations. Pour plus d’informations, consultez Limitations de la mise à l’échelle d’Azure Managed Redis.

Performances réseau

Si vous avez une charge de travail nécessitant un débit élevé, la bande passante réseau peut entraîner un goulot d’étranglement. Vous pouvez augmenter la bande passante en basculant vers un niveau de performance supérieur ou vers une grande taille d’instance. Les instances de taille supérieure offrent davantage de bande passante en raison de la machine virtuelle sous-jacente qui héberge le cache. Des limites de bande passante plus élevées vous permettent d’éviter la saturation du réseau qui provoque des délais d’expiration dans votre application. Pour plus d’informations sur les performances de la bande passante, consultez Test des performances.

Nombre maximal de connexions clientes

Chaque référence SKU a un nombre maximal de connexions clientes. Cette limite augmente avec des niveaux de performances plus élevés et des tailles d’instance supérieures. Le tableau suivant indique le nombre maximal de connexions clientes autorisées par référence SKU Redis managée Azure.

Références SKU optimisées pour la mémoire, équilibrées et optimisées pour le calcul

Ce tableau présente les connexions maximales par niveau et taille de mémoire dans les SKU Mémoire Optimisée, Équilibrée, et de Calcul.

Taille (Go) Mémoire
Optimisée
Équilibré Compute
Optimisée
0,5 - 15,000 -
1 - 15,000 -
3 - 15,000 30,000
6 - 15,000 30,000
12 15,000 30,000 75 000
Vingt-quatre 30,000 75 000 150 000
60 75 000 150 000 200 000
120 150 000 200 000 200 000
175 200 000 200 000 200 000
235 200 000 200 000 200 000
350 200 000 200 000 200 000
480 * 200 000 200 000 200 000
720 * 200 000 200 000 200 000
960 * 200 000 200 000 -
1440 * 200 000 - -
1920 * 200 000 - -
4500 * - - -

* Les tailles marquées d’un astérisque sont en version préliminaire.

SKU optimisé pour le flash

Ce tableau indique le nombre maximal de connexions par niveau et taille de mémoire dans le SKU optimisé pour Flash.

Taille (Go) Flash
Optimisée
235 75 000
480 150 000
720 200 000
960 200 000
1440 200 000
1920 * 200 000
4500 * 200 000

* Les tailles marquées d’un astérisque sont en version préliminaire.

Disponibilité élevée

Azure Managed Redis fournit une haute disponibilité aux points de terminaison de cache. Pour plus d’informations sur le contrat SLA, consultez le contrat SLA. Vous pouvez désactiver la haute disponibilité dans une instance redis managée Azure. La désactivation de la haute disponibilité réduit le prix, mais entraîne une perte de données et un temps d’arrêt. Désactivez uniquement la haute disponibilité pour les scénarios de développement/test.

Autres considérations relatives à la tarification

Important

Azure Managed Redis Enterprise nécessite une adresse IP pour chaque instance de cache. Actuellement, Azure Managed Redis prend en charge le coût lié à l’adresse IP et ne le répercute pas sur les clients. La facturation peut changer à l’avenir. Pour plus d’informations, consultez Tarification des adresses IP.

Important

L’utilisation de la géoréplication active produit un transfert de données entre les régions Azure. Actuellement, Azure Managed Redis absorbe ces frais de bande passante et ne les transmet pas aux clients. La facturation peut changer à l’avenir. Pour plus d’informations, consultez Tarification de la bande passante.

Disponibilité par région

Azure Managed Redis s’étend continuellement dans de nouvelles régions. Pour vérifier la disponibilité dans votre région, consultez Disponibilité des produits par région.

Migration depuis Azure Cache pour Redis

Pour plus d’informations sur la migration d’Azure Cache pour Redis vers Azure Managed Redis, consultez :