Redis, a Key-Value Store

Redis is a NoSQL data structure server used by many prominent tech companies. Whereas MongoDB is disk-based and stores documents, Redis is cached in memory but persistent on disk and stores key-values.

How Redis Works

Redis (short for remote dictionary server) is an open source, BSD licenced data structure server, or more specifically, a networked, in-memory key-value cache and store. It can contain strings, hashes, lists, sets, sorted sets, bitmaps, and hyperloglogs. Redis can do a lot with little internal complexity because it is much simpler to manipulate the memory representation of complex data structures rather than manipulating the same data structure on disk.

Redis Handles Many Value Types

Redis is the most popular key-value store for a reason. First of all, setup and maintenance are easy with Redis; it is driven by a straightforward configuration file. More importantly, Redis maps keys to a variety of value types, and values can contain more complex data types.

Unlike other structured storage systems, Redis supports not only strings themselves, but also abstract data types such as lists of strings, sets of strings (collections of non-repeating unsorted elements), sorted sets of strings (collections of non-repeating unsorted elements ordered by a floating-point number called score), and hashes (in which keys and values are strings).

Because Redis is an in-memory but persistent on disk database, it trades off data sets larger than the memory for extremely high write and read speed. Finally, Redis also supports master-slave replication.

Redis Attracts Powerful Companies

A variety of prominent tech companies use Redis for several essential maintenance tasks. Among these companies are some of the foremost social media sites, such as Twitter, Pinterest, and Tumblr, as well as respected development and programming related sites like GitHub and Stack Overflow. Even Craigslist uses Redis. You can read more about the specific use cases of Redis by these and other businesses here.