Redis is an in-memory data-structure store, which can be used as cache, queue, message broker; with configurable persistence guarantees. It is extremely elegant, performant and lightweight; which is why we are rating it as ADOPT.
- is very performant and lightweight
- contains many data structures to be used as building blocks for caching, queuing, distributed locking and coordination, ...
- can be set up with replication and failover
- is single threaded; thus easy to reason about
- can be scripted with Lua scripts
- will soon support streams, so it can be used as temporary log.
- single threaded; so if you write long Lua scripts, the server cannot answer other requests at the same time.
- the full data set has to fit in memory