Search code examples
amazon-web-servicesredismemcachedamazon-elasticache

AWS Elasticache - Redis VS MemcacheD


I am reading in AWS console about Redis and MemcacheD:

Redis
In-memory data structure store used as database, cache and message broker. ElastiCache for Redis offers Multi-AZ with Auto-Failover and enhanced robustness.

Memcached
High-performance, distributed memory object caching system, intended for use in speeding up dynamic web applications.


Did anyone used/compared both? What is the main difference and use cases between the two?

Thanks.


Solution

  • Pasting my answer from another stackoverflow question

    Select Memcached if you have these requirements:

    • You want the simplest model possible.
    • You need to run large nodes with multiple cores or threads.
    • You need the ability to scale out/in,
    • Adding and removing nodes as demand on your system increases and decreases.
    • You want to partition your data across multiple shards.
    • You need to cache objects, such as a database.

    Select Redis if you have these requirements:

    • You need complex data types, such as strings, hashes, lists, and sets.
    • You need to sort or rank in-memory data-sets.
    • You want persistence of your key store.
    • You want to replicate your data from the primary to one or more read replicas for read intensive applications.
    • You need automatic failover if your primary node fails.
    • You want publish and subscribe (pub/sub) capabilities—to inform clients about events on the server.
    • You want backup and restore capabilities.

    Here is interesting article by aws https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf