Redis is an in-memory data structure store, used as a database, cache, and message broker. It supports string, list, set, sorted set and hash data types and operates on keys and values. Some common uses of Redis include caching, queues, leaderboards and real-time analytics. It has client libraries for many languages and is fast due to operating in memory.