Redis is described by its author Salvatore Sanfilippo as a “strange project”. It’s a distributed cache, it’s an in-memory key-value store, and it’s a notification (publish/subscribe) server. A kind of all-in-one, which is actually good at everything it does. Although Redis keys and values are essentially just strings, one can group them into lists, sets, hashes and all-powerful sorted sets. It also stores numbers very efficiently, which makes such values consume less memory and enables fast numerical operations on them (like atomic increments).