ANNÉES 2000

Redis

En 2009, Salvatore Sanfilippo, développeur italien connu sous le pseudonyme « antirez », bute sur un problème irritant. L'analyseur de logs web qu'il développe pour sa startup manque cruellement de réactivité avec MySQL. Plutôt que de bricoler une énième optimisation, il prend le parti de créer sa propre base de données. Ce qui commence comme un prototype en Tcl se transforme en un projet C baptisé Redis, contraction de REmote DIctionary Server.

Quelques semaines après avoir écrit les premières lignes de code, Sanfilippo fait un choix qui scellera l'avenir de son projet : il le publie en open source. La décision s'avère judicieuse. Les développeurs adoptent Redis massivement, attirés par sa vélocité d'exécution et sa simplicité apparente. Le projet rencontre un succès qui dépasse les espérances de son créateur.

Redis rompt avec les conventions des bases de données traditionnelles. Là où la plupart stockent leurs données sur disque, Redis les conserve intégralement en mémoire vive. Cette architecture procure une rapidité d'accès sans commune mesure, mais elle nécessite des mécanismes de persistance pour parer aux arrêts intempestifs du système. Mais Redis ne se contente pas d'être rapide : il manipule nativement des structures de données variées comme les listes, les ensembles, les tables de hachage ou les ensembles triés. Une richesse qui le distingue des simples magasins clé-valeur.

VMware recrute Sanfilippo en 2010 pour qu'il se consacre à plein temps à Redis, tout en préservant la licence BSD du projet. Pieter Noordhuis, contributeur de premier plan, rejoint l'équipe peu après. Cette professionnalisation accélère le développement et Redis s'impose progressivement dans les architectures modernes.

Les géants de la tech ne s'y trompent pas. GitHub et Instagram figurent parmi les premiers adoptants notables. Twitter, Uber, Stripe, Slack et Alibaba suivront le mouvement. Cette adoption massive tient à la polyvalence de l'outil : Redis fonctionne aussi bien comme base de données que comme système de cache ou courtier de messages. Trois rôles pour le prix d'un seul logiciel.

Sanfilippo a pensé Redis comme un jeu de construction. Plutôt qu'un produit monolithique aux fonctionnalités figées, il a conçu des briques élémentaires que les développeurs peuvent assembler selon leurs besoins. Le scripting Lua, le système de publication-souscription ou les flux de données se sont ajoutés progressivement, suivant cette philosophie modulaire. Redis ressemble à un Lego pour programmeurs, où chacun bâtit sa propre solution.

La création de Redis Labs en 2015 (devenue simplement Redis) professionnalise l'écosystème. Cette structure offre des services commerciaux autour du projet tout en maintenant son caractère libre. Après onze ans à piloter Redis, Sanfilippo s'éloigne en 2020 pour se consacrer à l'écriture et à sa famille. Un retrait du quotidien qui n'est pas une rupture.

L'architecture technique de Redis fait des choix audacieux. Son modèle mono-thread évite les casse-têtes liés aux verrous et simplifie la gestion de la concurrence. Pour persister les données, deux mécanismes cohabitent : le snapshot périodique et le journal des opérations (AOF). La réplication maître-esclave distribue la charge et garantit la disponibilité. Des solutions pragmatiques qui ont fait leurs preuves.

Redis introduit une manière singulière de penser les données. Au lieu de se limiter aux paires clé-valeur classiques, il manipule directement des structures complexes via des commandes atomiques. Cette approche réduit la complexité du code applicatif et limite les échanges réseau entre client et serveur. Un gain de temps appréciable quand on travaille à grande échelle.

L'histoire pourrait s'arrêter là, mais Sanfilippo revient en 2024 comme évangéliste de Redis. Son nouveau combat : adapter l'outil à l'ère de l'intelligence artificielle. Outre la nouvelle licence qui n'est plus open source au sens de l'OSI, il travaille sur les vector sets, une extension des ensembles triés taillée pour les embeddings et les modèles de langage. Redis évolue avec son temps.