Confronto tra cache progettate autonomamente Memcached e Redis - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Confronto tra cache progettate autonomamente Memcached e Redis

Amazon ElastiCache supporta i motori cache Memcached e Redis. Ogni motore offre alcuni vantaggi. Utilizza le informazioni in questo argomento per individuare il motore e la versione che meglio si adattano alle tue esigenze.

Importante

Dopo aver creato un cluster di cache o un gruppo di replica, puoi aggiornare a una versione del motore più recente, ma non puoi eseguire il downgrade a versioni motore precedenti. Se vuoi utilizzare una versione del motore precedente, elimina il cluster di cache o il gruppo di replica esistente e crealo di nuovo con la versione del motore precedente.

A prima vista, i motori sembrano simili. Ognuno di essi è uno store chiave-valore in memoria Tuttavia, vi sono alcune differenze importanti.

Scegliere Memcached per le seguenti esigenze:
  • Hai bisogno del modello in assoluto più semplice.

  • Hai necessità di eseguire grandi nodi con più core o thread.

  • Hai la possibilità di dimensionare, aggiungere e rimuovere i nodi a seconda che la domanda del tuo sistema sia crescente o decrescente.

  • Hai necessità di memorizzare gli oggetti nella cache.

Scegliere Redis con una versione di ElastiCache se si applicano le seguenti condizioni:
  • ElastiCache per Redis versione 7.0 (avanzata)

    Si desidera utilizzare Funzioni Redis, Pub/Sub partizionato o Miglioramenti ACL Redis. Per ulteriori informazioni, consultare Redis Versione 7.0 (avanzata).

  • ElastiCache for Redis versione 6.2 (avanzata)

    Vuoi la possibilità di eseguire il livello dei dati tra memoria e SSD utilizzando il tipo di nodo r6gd. Per ulteriori informazioni, consulta la sezione Tiering di dati.

  • ElastiCache for Redis versione 6.0 (avanzata)

    Vuoi autenticare gli utenti con il controllo accessi basato sui ruoli.

    Per ulteriori informazioni, consulta la sezione Redis Versione 6.0 (avanzata).

  • ElastiCache for Redis versione 5.0.0 (potenziata)

    Vuoi utilizzare i flussi Redis, una struttura di registro dei dati che consente ai produttori di accodare nuove voci in tempo reale e che consente ai consumatori di utilizzare messaggi con blocchi o senza blocchi.

    Per ulteriori informazioni, consulta la sezione Redis versione 5.0.0 (potenziata).

  • ElastiCache for Redis versione 4.0.10 (potenziata)

    Supporta la crittografia e l'aggiunta o la rimozione automatica degli shard dal cluster Redis (modalità cluster abilitata).

    Per ulteriori informazioni, consulta la sezione Redis versione 4.0.10 (potenziata).

Le seguenti versioni sono obsolete, hanno raggiunto o stanno per giungere a fine vita.

  • ElastiCache for Redis versione 3.2.10 (potenziata)

    Supporta la capacità di aggiungere o rimuovere dinamicamente gli shard dal cluster Redis (modalità cluster abilitata).

    Importante

    Al momento ElastiCache for Redis 3.2.10 non supporta la crittografia.

    Per ulteriori informazioni, consulta gli argomenti seguenti:

  • ElastiCache for Redis versione 3.2.6 (potenziata)

    Se sono necessarie la caratteristicadelle versioni Redis precedenti e le caratteristiche seguenti, scegliere ElastiCache for Redis 3.2.6:

  • ElastiCache for Redis (modalità cluster abilitata) versione 3.2.4

    Se sono necessarie la caratteristicadelle versioni Redis 2.8.x e le caratteristiche seguenti, scegliere Redis 3.2.4 (modalità cluster):

    • Hai la necessità di eseguire la partizione dei dati tra due fino a 500 gruppi di nodi (solo in modalità cluster).

    • Hai la necessità di effettuare l'indicizzazione geospaziale (modalità cluster o non-cluster).

    • Non è necessario il support di più database.

  • ElastiCache for Redis (modalità non cluster) 2.8.x e 3.2.4 (potenziata)

    Scegliere Redis 2.8.x o Redis 3.2.4 (modalità non cluster) se si applicano le seguenti condizioni:

    • Sono necessari tipi di dati complessi, ad esempio stringa, set, set ordinati, elenchi, hash e bitmap.

    • È necessario ordinare o classificare i dataset in-memory.

    • Il tuo store di chiavi deve essere permanente.

    • È necessario replicare i dati dai primari a quelli relativi a una o più repliche di lettura per applicazioni di letture intensive.

    • Se il primo nodo riporta un errore, è necessario un failover automatico.

    • È necessario pubblicare e sottoscrivere le caratteristica(pub/sub) per informare i clienti sugli eventi sul server.

    • Sono necessarie caratteristicadi backup e ripristino.

    • È necessario il support di più database.

Riepilogo del confronto di Memcached, Redis (modalità cluster disabilitata) e Redis (modalità cluster abilitata)
Memcached Redis (modalità cluster disabilitata) Redis (modalità cluster abilitata)
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
Certificazioni di conformità
Compliance Certification

    FedRAMP

    HIPAA

    PCI DSS

 

Sì - 1.6.12 e versioni successive

Sì - 1.6.12 e versioni successive

 

versioni 4.0.10 e successive

versioni 4.0.10 e successive

versioni 4.0.10 e successive

 

versioni 4.0.10 e successive

versioni 4.0.10 e successive

versioni 4.0.10 e successive

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
Note:
‡ 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.

Dopo aver scelto il motore per il cluster, ti consigliamo di utilizzare la versione più recente per quel motore. Per ulteriori informazioni, consulta Versioni supportate di ElastiCache for Memcached o Versioni supportate di ElastiCache for Redis.