Top Qs
Chronologie
Chat
Contexte
Redis
serveur d’application utilisé pour la gestion de données De Wikipédia, l'encyclopédie libre
Remove ads
Redis (de l'anglais REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant » et jeu de mots avec Redistribute[2]) est un système de gestion de base de données clé-valeur extensible, très hautes performances, écrit en C ANSI. Il fait partie de la mouvance NoSQL et vise à fournir les performances les plus élevées possible.
Remove ads
Remove ads
Historique
Lancé en 2009 par Salvatore Sanfilippo, le développement du logiciel Redis a été financé par Pivotal Software (en) en , puis par Redis Labs en [3].
En , il est devenu le neuvième SGBD le plus utilisé au monde, et le premier pour les bases de données clé valeur[4].
En , Redis annonce l'abandon de la licence BSD pour une double licence moins permissive : RSALv2 (Redis Source Available License) et SSPLv1[5]. Redis n'est plus alors considéré comme open source ou libre, et des remplaçants multiples sont rapidement mis en avant, tels que Redict et Valkey[6].
En mai 2025, après le retour de son créateur[7] au sein de la société, son PDG annonce la mise à disposition de la version 8 sous licence AGPL[8]. Le produit Redis Stack est également intégré au logiciel de base, rendant ainsi l'intégralité du logiciel open source.
Remove ads
Principales caractéristiques
Résumé
Contexte
Données manipulées
Redis permet de manipuler des types de données simples : chaînes de caractères, tableaux associatifs, listes, ensembles et ensembles ordonnés.
Protocole réseau
Afin de communiquer avec un serveur Redis, il faut ouvrir une connexion TCP. Le client et le serveur Redis utilisent alors le protocole RESP[9] (REdis Serialization Protocol) qui s'ajoute au-dessus de la couche réseau TCP. Ce protocole est très facile à implémenter et se base sur un système de commandes et permet de sérialiser de nombreux types de données ainsi que des erreurs.
Stockage en RAM
Une des principales caractéristiques de Redis est de conserver l'intégralité des données en RAM. Cela permet d'obtenir d'excellentes performances en évitant les accès disques, particulièrement coûteux sur ce plan.
Redis a tenté d'utiliser le disque dur pour décharger la RAM, mais cette fonctionnalité est maintenant déconseillée.
Afin d'assurer la conservation des données en cas d'incident — la mémoire vive étant volatile — Redis offre la possibilité de « capturer » l'état de la base dans un fichier. Cette technique ne conservant pas les modifications effectuées entre deux captures, il est par ailleurs possible de les enregistrer afin de restaurer la base en cas d'incident.
Événementiel
Redis dispose d'un mécanisme publish-subscribe permettant d'émettre des événements aux différents clients connectés sur la base.
Déploiement
Redis supporte la réplication via un modèle primaire-secondaire à des fins de résistance aux pannes et de répartition de la charge. Toutes les écritures doivent se faire via l'instance primaire, mais il est possible de faire des lectures sur les instances secondaires — si toutefois il n'y a pas de besoin critique d'accéder avec certitude à des données à jour.
Son port logiciel par défaut est 6379[10].
Remove ads
Mises en œuvre notables
Notes et références
Voir aussi
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads