Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Redis is noted for its speed and scalability. It is well-suited for distributed infrastructures.
Redis is one of the best choices if you want a highly scalable data store shared by multiple processes, multiple applications from multiple servers and communicate cross-platform, cross-server, or cross-application. It is also a great caching layer because of its speed.
According to the monthly ranking by DB-Engines.com, Redis is the most popular key-value store.
Amazon is making it easier for AWS customers to run Redis, an in-memory key-value store that helps manage caching and improve cloud application performance.
Amazon is adding support for Redis as a managed service within ElastiCache, which is used to provision clusters of distributed, in-memory caches beneath the application stack.
The Redis caching engine sits between the two layers and helps running components of an application from cached in-memory data. According to Amazon, "in short, you provide Redis with a key and a value to store data. Later, you provide the key and Redis returns the data."
Unlike traditional caches which deal only with key-value pairs, Redis is popular for its highly performant data types. Redis also supports running atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing to a list; computing set intersection, union and difference; or getting the member with highest ranking in a sorted set. Other features include support for transactions, pub/sub, Lua scripting, keys with a limited time-to-live, and configuration settings to make Redis behave more like a traditional cache.
Another key aspect to Redis success is the healthy, vibrant open source ecosystem built around it. This is reflected in the diverse set of Redis clients available across multiple languages.