In our services, some of the information inside the database is not required to retrieve frequently from there. In such cases, we use ElastiCache in order to reduce the load from the database especially RDS.
Pros
configuration data
user login detail data
application permission data
Cons
not to get lost cache data in order to change ElasitCache instance type
most of the time cache data are not distributively stored to secondary, mostly goes to primary
default TTL should be 30 days or 60 days instead of infinity
Likelihood to Recommend
Not to get lost data when ElastiCache instance type changed and reduce the timeframe as 3 mins or 5 mins when instance type changed as well.
The engineering and data science teams at my organization used Redis-flavored ElastiCache to cache recommendations and other personalization data that changes infrequently and is expensive to compute. Redis is great, but we don't want to manage it. It has been easy for us to scale reads with replicas and scale writes with shards.
Pros
Amazon ElastiCache is fully-managed. Our team is small, and our ability to configure, monitor and patch Redis will never be our competitive advantage.
Amazon ElastiCache is fast and scalable. It is easy to scale reads with replicas.
Amazon ElastiCache is integrated with CloudWatch. You get metrics out-of-the-box, and it is easy to create alerts for them.
Cons
Amazon ElastiCache is expensive.
The AWS Console for ElastiCache is not the most intuitive console.
Likelihood to Recommend
Amazon ElastiCache is a great managed Redis or Memcached service. ElastiCache with the Redis engine is great for caching expensive responses or queries. It is great if you need a distributed mutex. It is great as a message broker. If you need Redis but don't have the resources to manage it yourself, consider ElastiCache. It may not be economical for very large scale installations, however.