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