Présentation du cache Azure pour Redis

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 abondamment les magasins de données principaux. Il peut traiter des volumes conséquents de demandes d’applications en conservant les données fréquemment utilisées dans la mémoire du serveur, qui peut être écrite et lue rapidement. Redis constitue une solution de stockage de données à faible latence et à haut débit critique pour les applications modernes.

Azure Cache pour Redis fournit à la fois Redis open source (OSS Redis) et un produit commercial de Redis Inc. (Redis Enterprise) sous la forme d’un service managé. Elle fournit une instance de serveur Redis sécurisée et dédiée, ainsi qu’une compatibilité complète avec l’API Redis. Le service est géré par Microsoft, hébergé sur Azure et peut être utilisé par toute application à l’intérieur ou à l’extérieur d’Azure.

Azure Cache pour Redis peut être utilisé comme cache de données ou de contenu distribué, magasin de sessions, répartiteur de messages, et bien plus encore. Il peut être déployé en mode autonome. Il peut également être déployé parallèlement à d’autres services de base de données Azure, comme Azure SQL ou Azure Cosmos DB.

Principaux scénarios

Azure Cache pour Redis améliore les performances des applications grâce à la prise en charge de modèles d’architecture d’application courants. Les modèles les plus courants sont les suivants :

Modèle Description
Cache de données Les bases de données sont souvent trop grandes pour être chargées directement dans un cache. Le modèle cache-aside est couramment utilisé pour charger des données dans le cache uniquement en cas de besoin. Quand le système modifie les données, il peut également mettre à jour le cache, qui est alors 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 ou 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 vous permettre de réduire le nombre de serveurs nécessaires au traitement des charges. Azure Cache pour 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 nombreuses informations dans un cookie peut avoir un effet négatif sur les performances à mesure que la taille du cookie augmente, ce dernier devant être transmis et validé à 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 tel que Azure Cache pour Redis afin d’associer des informations à un utilisateur est beaucoup plus rapide que l’interaction avec une base de données relationnelle complète.
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 Cache pour Redis fournit une file d’attente distribuée pour activer ce modèle dans votre application.
Transactions distribuées Les applications nécessitent parfois une série de commandes sur un magasin de données back-end pour s’exécuter comme opération atomique unique. Toutes les commandes doivent réussir, ou elles devront toutes être restaurées à leur état initial. Azure Cache pour Redis prend en charge l’exécution d’un lot de commandes comme transaction unique.

Versions Redis

Azure Cache pour Redis prend en charge OSS Redis version 4.0.x et 6.0.x. Nous avons décidé d’ignorer Redis 5.0 pour vous apporter la version la plus récente. Auparavant, Azure Cache pour Redis ne gérait qu’une seule version de Redis. À l’avenir, vous pourrez choisir à partir d’une mise à niveau majeure plus récente et au moins une version stable plus ancienne. Vous pouvez choisir la version qui convient le mieux à votre application.

Niveaux de service

Azure Cache pour Redis est disponible aux niveaux suivants :

Niveau Description
De base Cache OSS Redis s’exécutant sur une seule machine virtuelle. Aucun contrat de niveau de service (SLA) ne couvre ce niveau qui est idéal pour les charges de travail de développement/test et non critiques.
Standard Cache OSS Redis s’exécutant sur deux machines virtuelles dans une configuration répliquée.
Premium Caches OSS Redis à hautes performances. Ce niveau offre un débit plus élevé, une latence plus faible, une meilleure disponibilité et d’autres fonctionnalités. Les caches Premium sont déployés sur des machines virtuelles plus puissantes que celles des caches De base ou Standard.
Enterprise Les caches hautes performances alimentés par des logiciels Redis Enterprise de Redis Inc. Ce niveau prend en charge les modules Redis, notamment RediSearch, RedisBloom, RedisJSON et RedisTimeSeries. De plus, il offre une disponibilité encore plus élevée que celle du niveau Premium.
Enterprise Flash Grands caches économiques alimentés par des logiciels Redis Enterprise de Redis Inc. Ce niveau étend le stockage de données Redis à la mémoire non volatile, ce qui est moins coûteux qu’une mémoire DRAM, sur une machine virtuelle. Il réduit le coût de mémoire global par Go.

Comparaison des fonctionnalités

La page Tarifs d’Azure Cache pour Redis fournit une comparaison détaillée des différents niveaux. Le tableau suivant décrit quelques-unes des fonctionnalités prises en charge par niveau :

Description de la fonctionnalité De base standard Premium Enterprise Enterprise Flash
Contrat de niveau de service (SLA) -
Chiffrement des données en transit
Isolement réseau
Mise à l'échelle PRÉVERSION PRÉVERSION
Clustering OSS - -
Persistance des données - - PRÉVERSION PRÉVERSION
Redondance de zone - - Disponible Disponible Disponible
Géoréplication - - ✔ (passif) ✔ (actif) ✔ (actif)
Journaux d’audit de connexion - - ✔ (basé sur un sondage) ✔ (basé sur un événement) ✔ (basé sur un événement)
Modules Redis - - - PRÉVERSION
Import/Export - -
Redémarrage - -
Canal de mise à jour et planification des mises à jour - -

Notes

Le niveau Enterprise Flash ne prend actuellement en charge que le module RediSearch (en préversion) et le module RedisJSON.

Choix du niveau approprié

Lors du choix d’un niveau Azure Cache pour Redis, vous devez prendre en compte les options suivantes :

  • Mémoire : les niveaux de base et standard offrent entre 250 Mo et 53 Go, le niveau Premium entre 6 Go et 1,2 To, le niveau Enterprise entre 4 Go et 2 To et le niveau Enterprise Flash entre 300 Go à 4,5 To. Pour créer un cache de niveau Premium d’une taille supérieure à 120 Go, vous pouvez utiliser le clustering Redis OSS. Pour plus d’informations, consultez Tarification du Cache Azure pour Redis.
  • Performances : Les caches des niveaux Premium et Enterprise sont déployés sur du matériel qui dispose de processeurs plus rapides, offrant de meilleures performances que le niveau De base ou Standard. Le niveau Enterprise offre généralement les meilleures performances pour la plupart des charges de travail, en particulier avec les instances de cache plus grandes. Pour plus d’informations, consultez Test de performances.
  • Cœur dédié pour le serveur Redis : tous les caches sauf C0 exécutent des processeurs virtuels dédiés. Les niveaux de base, standard et Premium exécutent Redis open source, qui utilise par défaut seulement un thread pour le traitement des commandes. Dans ces niveaux, plus vous avez de processeurs virtuels, meilleures sont les performances de débit, car Azure Cache pour Redis utilise d’autres processeurs virtuels pour le traitement des E/S ou les processus du système d’exploitation. Toutefois, l’ajout d’autres processeurs virtuels par instance peut ne pas produire d’augmentations linéaires des performances. En général, un scale-out permet d’obtenir de meilleures performances qu’un scale-up dans ces niveaux. Les caches des niveaux Enterprise et Enterprise Flash s’exécutent sur Redis Enterprise, lequel peut utiliser plusieurs processeurs virtuels par instance, ce qui peut également augmenter considérablement les performances par rapport aux autres niveaux. Pour les niveaux Enterprise et Enterprise Flash, le scale-up est recommandé avant le scale-out. Pour plus d’informations, consultez Partitionnement et utilisation du processeur.
  • Performances du réseau : Si vous avez une charge de travail qui nécessite un débit élevé, le niveau Premium ou Enterprise offre davantage de bande passante par rapport au niveau De base ou Standard. En outre, à chaque niveau les caches 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 entraîne des expirations de délai dans votre application. Pour plus d’informations, consultez Tests de performances.
  • Nombre maximal de connexions client : les niveaux Premium et Enterprise offrent le nombre maximal de clients pouvant se connecter à Redis, permettant un nombre de connexions plus élevé pour les caches de taille supérieure. Le clustering augmente la quantité totale de bande passante réseau disponible pour un cache en cluster.
  • Haute disponibilité : Azure Cache pour Redis fournit plusieurs options de haute disponibilité. Il garantit la disponibilité d’un cache Standard, Premium ou Enterprise conformément à notre contrat SLA. Celui-ci couvre uniquement la connectivité aux points de terminaison du cache. Le contrat SLA ne couvre pas la protection contre la perte de données. Nous vous recommandons d’utiliser la fonctionnalité de persistance des données Redis disponible dans les niveaux Premium et Enterprise pour accroître la résilience contre la perte de données.
  • Persistance des données : Les niveaux Premium et Enterprise vous permettent de rendre persistantes les données du cache sur un compte de stockage Azure et sur un disque managé, respectivement. Les problèmes d’infrastructure sous-jacents peuvent entraîner une éventuelle perte de données. Nous vous recommandons d’utiliser la fonctionnalité de persistance des données Redis disponible dans ces niveaux pour accroître la résilience contre la perte de données. Azure Cache pour Redis offre les options RDB et AOF (préversion). La persistance des données peut être activée sur le portail Azure et dans l’interface CLI. Pour plus d’informations, consultez Comment configurer la persistance pour un Cache Azure pour Redis Premium.
  • Isolement réseau : les déploiements Azure Private Link et de réseau virtuel (VNet) renforcent la sécurité et l’isolement du trafic pour votre instance Azure Cache pour Redis. Le VNet vous permet de restreindre davantage l’accès en utilisant des stratégies de contrôle d’accès réseau. Pour plus d’informations, consultez Azure Cache pour Redis avec Azure Private Link et Comment configurer la prise en charge de réseau virtuel pour une instance Premium d’Azure Cache pour Redis.
  • Modules Redis : les niveaux Enterprise prennent en charge RediSearch, RedisBloom, RedisTimeSeries et RedisJSON. Ces modules ajoutent de nouveaux types de données et de nouvelles fonctionnalités à Redis.

Vous pouvez mettre à l’échelle votre cache du niveau De base jusqu’au niveau Premium une fois qu’il a été créé. Actuellement, la mise à l’échelle vers un niveau inférieur n’est pas prise en charge. Pour connaître la procédure détaillée de mise à l’échelle, consultez Guide pratique pour mettre à l’échelle Azure Cache pour Redis et Comment mettre à l’échelle : niveau De base, Standard et Premium.

Considérations spéciales relatives aux niveaux Enterprise

Les niveaux Enterprise s’appuient sur Redis Enterprise, une variante commerciale de Redis Inc. Les clients obtiennent et paient une licence pour ce logiciel par le biais d’une offre de Place de marché Azure. Azure Cache pour Redis gère l’acquisition des licences afin que vous n’ayez pas à le faire séparément. Pour effectuer un achat dans la Place de marché Microsoft Azure, vous devez satisfaire les prérequis suivants :

  • Votre abonnement Azure dispose d’un moyen de paiement valide. Les crédits Azure ou les abonnements MSDN gratuits ne sont pas pris en charge.
  • Votre organisation autorise les achats dans la Place de marché Azure.
  • Si vous utilisez une Place de marché privée, elle doit contenir l’offre Enterprise de Redis Inc.

Important

Azure Cache pour Redis Enterprise nécessite des équilibreurs de charge réseau standard qui sont facturés séparément des instances de cache. Actuellement, ces frais sont absorbés par Azure Cache pour Redis et ne sont pas répercutés sur les clients. Cela pourrait changer à l'avenir. Pour plus d’informations, consultez Facturation de Load balancer.

Si un cache d'entreprise est configuré pour plusieurs zones de disponibilité, les frais de transfert de données sont absorbés par le cache Azure pour Redis et ne sont pas transmis aux clients. Cela pourrait changer à l'avenir, où le transfert de données serait facturé aux tarifs standard de la bande passante du réseau

En outre, la persistance des données ajoute des disques managés. L’utilisation de ces ressources est gratuite durant la préversion publique de la persistance des données Enterprise. Cela pourra changer lorsque la fonctionnalité sera en disponibilité générale.

Disponibilité par région

Azure Cache pour 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.