Redis stands for Remote Dictionary Server. It is opensource, in-memory key value data strucure store, which is extremely fast. In other words, it can also called as caching no sql database.
So, Redis is no sql database which can be used as a cache or message broker. The data structure supported by it are lists, hashes, strings, sets, sorted sorts with range queries, bitmaps, hyperloglogs and geo spatial indexes with radius queries. It has built in replication, Lua scripting, LRU eviction, transcations and different levels of one-disk persistence. It also provides high availiblity via Redis Sentinel and automatic partitioning with Redis cluster.
Why use Redis? Really Why?
- Extremely fast as it is written in C language, and also not cpu intensive.
- It is simple and versatile, with well documented.
- Opensource (yeah, it is free) and stable.
- For saving some database calls, one can use Redis as a caching mechanism.
- Tech giants like Twitter, Github, Snapchat, Weibo etc uses it.
- And it is no sql database.
Some common use cases:
- High I/O workloads
- Expiring data