AWS Elasticache Flashcards
What are the two in memory caches supported by AWS?
Redis and MemcacheD
I am developing a web application and require a service to be able to store my session state, what options do I have?
You can use Redis or MemcacheD, both are supported through AWS ElasticCache. Elastic cache services is a managed service that enables the deployment of the node (Memcached) or a Redis cluster. These node’s/clusters are managed by AWS.
I have a database that has very heavy reads and we are having performance issues, what options do I have?
Use AWS ElasticCache to offload some of the reads.
Where is the best place to store session state?
A cache like ElasticCache as it is in memory, so it is fast to retrieve. Other advantage here is the session information is available to any of the nodes that require. DynamoDB is also said by AWS to be good for session state.
Is ElasticCache transparent when used with databases such as DynamoDB, RDS, etc?
No, its an app level service, the app has to use the cache.
I require the storing of complex cached data from a database (lists), what is my best caching option?
Use Redis as Memcache only supports key, value pairs.
I need cache where I cna back up and restore, what is my best option?
Redis supports backup and restore
I need a pub/sub interface for cache, what is my best option?
Redis, Memcached is only for simple
How is Redis using the backup and restore?
Because it takes time to restore data in a cache, this happens as people call the cache. It is sometimes required to save off a backup of the current cache so it can be restored at a later time.
I need a cache with failover ability, what is my best option?
Redis
I need cached transaction support, what is my best option?
Redis
I need support for geo-spacial in my cache, what is my best option?
Redis
I need a MultiAZ cache, what is my best option?
Redis
I require a horizontally scaled cache, what is my best option?
Redis
I have a database frontend that is currently having issues with performance, the number of reading requests hitting the database is very large and this is causing performance issues, what services in AWS can I use to help with this issues? (you can edit the application code)
Options
- Virtual scale (Increase size of instance)
- Horizontal scale (Scale our instances)
- Use a cache like ElasticCache
- Possible use CloudFront
We first enable CloudFront, then we focus on the chnaging code in our app to use ElasticCache.