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. Microsoft exploite le service, hébergé sur Azure et utilisable par n’importe quelle application au sein ou en dehors 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 pris la décision d’ignorer Redis 5.0 pour vous apporter la dernière version. 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) | Non | Oui | Oui | Oui | Oui |
Chiffrement des données en transit | Oui | Oui | Oui | Oui | Oui |
Isolement réseau | Oui | Oui | Oui | Oui | Oui |
Mise à l'échelle | Oui | Oui | Oui | Oui | Oui |
Clustering OSS | Non | Non | Oui | Oui | Oui |
Persistance des données | Non | Non | Oui | Aperçu | PRÉVERSION |
Redondance de zone | Non | Disponible | Disponible | Disponible | Disponible |
Géoréplication | Non | Non | Oui (passif) | Oui (actif) | Oui (actif) |
Journaux d’audit de connexion | Non | Non | Oui (basé sur un sondage) | Oui (basé sur un événement) | Oui (basé sur un événement) |
Modules Redis | Non | Non | Non | Oui | Aperçu |
Import/Export | Non | Non | Oui | Oui | Oui |
Redémarrage | Oui | Oui | Oui | No | Non |
Canal de mise à jour et planification des mises à jour | Oui | Oui | Oui | No | N° |
Remarque
Le niveau Enterprise Flash ne prend actuellement en charge que le module RediSearch (en préversion) et le module RedisJSON.
Remarque
Actuellement, les niveaux Enterprise et Enterprise Flash prennent uniquement en charge le scale-up et le scale-out. Le scale-down et le scale-in ne sont pas encore pris en charge.
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 1 Go et 2 To et le niveau Enterprise Flash entre 300 Go à 4,5 To. Pour créer des instances de cache de plus grande taille, vous pouvez utiliser scale-out. 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 niveaux Enterprise et Enterprise Flash s’exécutent sur Redis Enterprise, qui est en mesure d’utiliser plusieurs processeurs virtuels par instance, ce qui peut également augmenter considérablement les performances sur d’autres niveaux. Pour les niveaux Enterprise et Enterprise Flash, le scale-up est recommandé avant le scale-out.
- 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 provoque des délais d’expiration dans votre application. Pour plus d’informations, consultez Test 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.
Une fois créé, vous pouvez faire évoluer votre cache du niveau Basic vers le niveau Premium. 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 des achats dans la place de marché Azure, vous devez remplir les conditions préalables suivantes :
- 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.
Contenu connexe
- Créer un cache Redis open source
- Créer un cache Redis Enterprise
- Utiliser Azure Cache pour Redis dans une application web ASP.NET
- Utiliser Azure Cache pour Redis dans .NET Core
- Utiliser Azure Cache pour Redis dans .NET Framework
- Utiliser Azure Cache pour Redis dans Node.js
- Utiliser Azure Cache pour Redis dans Java
- Utiliser Azure Cache pour Redis dans Python