Comparaison de Memcached et Redis
Amazon ElastiCache prend en charge les moteurs de cache Memcached et Redis. Chaque moteur offre certains avantages. Utilisez les informations dans cette rubrique pour vous aider à choisir le moteur et la version que répond le mieux à vos besoins.
Important
Une fois que vous créez un groupe de réplication ou cluster de cache, vous pouvez passer à une version du moteur plus récente, mais vous ne pouvez pas revenir à une version antérieure de moteur. Si vous souhaitez utiliser une version antérieure de moteur, vous devez supprimer le groupe de réplication ou le cluster de cache existant et en créer un de nouveau à partir de la version précédente de moteur.
En apparence, les moteurs de ressemblent. Chacun de ces moteurs est une banque de clés en mémoire-valeurs. Toutefois, en pratique, il existe des différences significatives.
Choisissez Memcached si les éléments suivants s'appliquent à votre situation :
-
Vous avez besoin du modèle le plus simple possible.
-
Vous avez besoin d'exécuter des nœuds de grande taille avec plusieurs cœurs ou threads.
-
Vous devez pouvoir le faire évoluer en ajoutant et en supprimant des nœuds au fur et à mesure des fluctuations du système.
-
Vous avez besoin d'objets du cache.
Choisissez Redis avec une version de ElastiCache si les éléments suivants s'appliquent à votre situation :
-
ElastiCache for Redis version 7.0 (améliorée)
Vous souhaitez utiliser les Fonctions Redis
, le Pub/Sub partitionné ou les Améliorations des ACL Redis . Pour plus d’informations, consultez la rubrique Redis version 7.0 (améliorée). -
ElastiCache for Redis version 6.2 (améliorée)
Vous souhaitez pouvoir hiérarchiser les données entre la mémoire et le SSD à l’aide du type de nœud r6gd. Pour plus d’informations, consultez la rubrique Hiérarchisation des données.
-
ElastiCache for Redis version 6.0 (améliorée)
Vous souhaitez authentifier les utilisateurs avec le contrôle d'accès basé sur les rôles.
Pour plus d’informations, consultez la rubrique Redis version 6.0 (améliorée).
-
ElastiCache for Redis version 5.0.0 (améliorée)
Vous souhaitez utiliser les flux Redis
, une structure de données de journal qui permet aux producteurs d'ajouter de nouveaux éléments en temps réel. Elle permet également aux consommateurs d'utiliser des messages en mode bloquant ou non bloquant. Pour plus d'informations, consultez Redis version 5.0.0 (améliorée).
-
ElastiCache for Redis version 4.0.10 (améliorée)
Prend en charge le chiffrement et l'ajout ou la suppression dynamiques des partitions à partir de votre cluster Redis (mode cluster activé).
Pour plus d'informations, consultez Redis version 4.0.10 (améliorée).
Les versions suivantes sont obsolètes, ont atteint ou atteindront bientôt leur fin de vie.
-
ElastiCache for Redis version 3.2.10 (améliorée)
Prend en charge la capacité à ajouter ou supprimer de manière dynamique des partitions de votre cluster Redis (mode cluster activé).
Important
Actuellement ElastiCache for Redis 3.2.10 ne prend pas en charge le chiffrement.
Pour plus d'informations, consultez les ressources suivantes :
-
Pour accéder aux bonnes pratiques de repartitionnement en ligne pour Redis, veuillez consulter les sections suivantes :
-
Pour plus d'informations sur le dimensionnement de Redis, consultez Dimensionnement.
-
ElastiCache for Redis version 3.2.6 (améliorée)
Si vous avez besoin de toutes les fonctionnalités des versions antérieures de Redis en supplément des fonctions suivantes, sélectionnez ElastiCache for Redis 3.2.6 :
-
Chiffrement en transit. Pour de plus amples informations, veuillez consulter Chiffrement en transit Amazon ElastiCache for Redis.
-
Chiffrement au repos. Pour de plus amples informations, veuillez consulter Chiffrement au repos Amazon ElastiCache for Redis.
-
Certification d'éligibilité HIPAA Pour plus d'informations, consultez Éligibilité HIPAA pour Amazon ElastiCache for Redis.
-
-
ElastiCache for Redis (mode cluster activé) version 3.2.4
Si vous avez besoin de toutes les fonctionnalités de Redis 2.8.x en plus des fonctionnalités suivantes, choisissez Redis 3.2.4 (mode cluster) :
-
Vous avez besoin de partitionner vos données sur deux à 500 groupes de nœuds (mode cluster uniquement).
-
Vous avez besoin d'indexation géospatiale (mode cluster ou non-cluster).
-
Vous n'avez pas besoin de prendre en charge plusieurs bases de données.
-
-
ElastiCache for Redis (mode non-cluster) 2.8.x et 3.2.4 (amélioré)
Si les éléments suivants s'appliquent à votre situation, choisissez Redis 2.8.x ou Redis 3.2.4 (mode non-cluster) :
-
Vous avez besoin de types de données complexes, telles que des chaînes, des données de hachage, des listes, des ensembles triés et des bitmaps.
-
Vous avez besoin de trier ou de classer des ensembles de données en mémoire.
-
Vous avez besoin que votre banque de clés soit maintenue.
-
Vous avec besoin de répliquer les données du réplica principal vers un ou plusieurs réplicas en lecture pour des applications de lecture intensive.
-
Vous avez besoin de procéder à un basculement automatiquement en cas de défaillance de votre nœud principal.
-
Vous avez besoin de publier et de vous abonner à des fonctionnalités (pub/sub), pour informer les clients sur des événements sur le serveur.
-
Vous avez besoin des capacités de sauvegarde et de stockage.
-
Vous avez besoin de prendre en charge plusieurs bases de données.
-
Résumé de la comparaison de Memcached, Redis (mode cluster désactivé) et Redis (mode cluster activé) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Memcached | Redis (Mode cluster désactivé) | Redis (mode cluster activé) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Engine versions+ | 1.4.5 and later | 4.0.10 and later | 4.0.10 and later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data types | Simple ‡ | 2.8.x - Complex * | 3.2.x and later - Complex † | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Complex † | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data partitioning | Yes | No | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cluster is modifiable | Yes | Yes | 3.2.10 and later - Limited | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Online resharding | No | No | 3.2.10 and later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Encryption | in-transit 1.6.12 and later | 4.0.10 and later | 4.0.10 and later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data tiering | No | 6.2 and later | 6.2 and later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Certifications de conformité | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compliance Certification
FedRAMP HIPAA PCI DSS |
Oui - 1.6.12 et ultérieure Oui - 1.6.12 et ultérieure Oui |
4.0.10 et ultérieures 4.0.10 et ultérieures 4.0.10 et ultérieures |
4.0.10 et ultérieures 4.0.10 et ultérieures 4.0.10 et ultérieures |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Multi-threaded | Yes | No | No | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node type upgrade | No | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Engine upgrading | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
High availability (replication) | No | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Automatic failover | No | Optional | Required | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pub/Sub capabilities | No | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sorted sets | No | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Backup and restore | No | Yes | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Geospatial indexing | No | 4.0.10 and later | Yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remarques : | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
‡ string, objects (like databases) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
† string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ Excludes versions which are deprecated, have reached or soon to reach end of life. |
Une fois que vous avez choisi le moteur de votre cluster, nous vous conseillons d'utiliser la version la plus récente de ce moteur. Pour de plus amples informations, veuillez consulter ElastiCache pris en charge pour les versions Memcached ou ElastiCache pris en charge pour les versions Redis.