THE 2000S

Redis

In 2009, Salvatore Sanfilippo, an Italian developer known by the pseudonym “antirez,” ran into a frustrating problem. The web log analyzer he was developing for his startup was painfully slow with MySQL. Rather than patching together yet another optimization, he decided to create his own database. What started as a prototype in Tcl evolved into a C project called Redis, short for REmote DIctionary Server.

A few weeks after writing the first lines of code, Sanfilippo made a choice that would seal his project’s future: he released it as open source. The decision proved wise. Developers embraced Redis en masse, drawn to its execution speed and apparent simplicity. The project achieved a success beyond its creator’s expectations.

Redis breaks with traditional database conventions. Where most store their data on disk, Redis keeps everything in RAM. This architecture provides unparalleled access speed, but requires persistence mechanisms to guard against unexpected system shutdowns. Yet Redis isn’t just fast: it natively handles varied data structures like lists, sets, hash tables, and sorted sets. A richness that distinguishes it from simple key-value stores.

VMware hired Sanfilippo in 2010 to work on Redis full-time while preserving the project’s BSD license. Pieter Noordhuis, a leading contributor, joined the team shortly after. This professionalization accelerated development and Redis gradually established itself in modern architectures.

Tech giants recognized its value. GitHub and Instagram were among the notable early adopters. Twitter, Uber, Stripe, Slack, and Alibaba followed suit. This widespread adoption stems from the tool’s versatility: Redis works equally well as a database, cache system, or message broker. Three roles for the price of one.

Sanfilippo designed Redis as a construction set. Rather than a monolithic product with fixed features, he created elementary building blocks that developers can assemble according to their needs. Lua scripting, the publish-subscribe system, and data streams were added progressively, following this modular philosophy. Redis resembles programmer’s Lego, where everyone builds their own solution.

The creation of Redis Labs in 2015 (which became simply Redis) professionalized the ecosystem. This structure offers commercial services around the project while maintaining its open nature. After eleven years leading Redis, Sanfilippo stepped back in 2020 to focus on writing and his family. A withdrawal from daily operations, not a complete break.

Redis’s technical architecture makes bold choices. Its single-threaded model avoids locking headaches and simplifies concurrency management. For data persistence, two mechanisms coexist: periodic snapshots and the append-only file (AOF). Master-slave replication distributes load and ensures availability. Pragmatic solutions that have proven their worth.

Redis introduces a distinctive way of thinking about data. Instead of limiting itself to classic key-value pairs, it directly manipulates complex structures through atomic commands. This approach reduces application code complexity and limits network exchanges between client and server. A significant time saver when working at scale.

The story could end there, but Sanfilippo returned in 2024 as Redis evangelist. His new mission: adapting the tool for the AI era. Besides the new license that is no longer open source by OSI standards, he’s working on vector sets, an extension of sorted sets tailored for embeddings and language models. Redis evolves with its time.