Using memcached or Redis on aws-elasticache

8.2k views Asked by At

I am working on an application on AWS and I am using AWS elasticache for caching. I am confused between using memcached or redis.

I read the about the redis 3.0.2 update and how it is equivalent to memchached now. https://groups.google.com/forum/#!msg/redis-db/dO0bFyD_THQ/Uoo2GjIx6qgJ

But I read on the amazon aws faq page that amazon elasticache dows not support 3.0.2. They currently support Redis 2.6.13, 2.8.6 and 2.8.19. http://aws.amazon.com/elasticache/faqs/ (Date June 10,2015) I have read AWS white papers on elsticache. But they have not specified for which version of redis they are providing the suggestions.

How should I decide between the use of memcached or redis for any application I may create ? What are the points one needs to keep in mind before using redis or memcached ? Should I consider that amazon will update the redis version soon and go on with redis ?

p.s. I am a novice developer.

2

There are 2 answers

0
Liviu Costea On

This is the main discussion of comparing Memcached and Redis Memcached vs. Redis?

Both AWS and Azure for sure will upgrade in the future to the newer versions of Redis, but when and how they will roll out it will depend only on them. Meanwhile you could install Redis 3.0.2 yourself, but you need to see if you really need Redis 3 which actually gives you the cluster support. And if you don't need the cluster then you can go with 2.8 from Elasticache.

0
Ankit Gupta On

Actually depends upon use case

Select Memcached if you have these requirements:

  • You want the simplest model possible.
  • You need to run large nodeswith 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