Comparaison de Memcached et Redis - Amazon ElastiCache for Redis

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

  • 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 en savoir plus, consultez les ressources suivantes :

  • 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 :

  • 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.6.6 2.8.x and later 3.2.x 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 No 3.2.6, 4.0.10 and later 3.2.6, 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

Oui

Non

 

3.2.6, 4.0.10 et ultérieures

3.2.6, 4.0.10 et ultérieures

3.2.6, 4.0.10 et ultérieures

 

3.2.6, 4.0.10 et ultérieures

3.2.6, 4.0.10 et ultérieures

3.2.6, 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 2.8.x - No Yes
3.2.x 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

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.