Why use Redis?

Redis is a key-value data store. It’s a “NoSQL” key-value data store. More precisely, it is a data structure server.

Not like MongoDB (which is a disk-based document store), though MongoDB could be used for similar key/value use cases.
The closest analog is probably to think of Redis as Memcached, but with built-in persistence (snapshotting or journaling to disk) and more datatypes.

Redis is a good if you want a highly scalable data store shared by multiple processes, multiple applications, or multiple servers. As just an inter-process communication mechanism it is tough to beat. Its speed also makes it great as a caching layer.

Below are some of the most common Redis use cases –
1. Session Cache
2. Full Page Cache (FPC)
3. Queues

Pros of Redis:
• It’s blazing fast
• it supports a wide variety of data types
• it’s open source and has an active community
• it’s simple to install and has no dependencies
• stores generic data types for any purpose
• easy to get started on a single cheap/free server

Cons of Redis:
• your dataset has to fit comfortably in memory
• no joins or query language
• you have to learn lua if you want something like stored procedures

The following link is superb to learn the basics of redis