Redis

Cet article est une ébauche concernant un logiciel libre.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Redis Description de l'image Redis Logo.svg.

Informations
Créateur Salvatore Sanfilippo
Développé par Redis Labs
Première version 8 mai 2009
Dernière version 7.2.5 (19 mai 2024)
Dépôt Redis sur GitHub
État du projet  En développement actif
Écrit en C
Système d'exploitation Multiplateforme
Environnement Multiplate-forme
Langues Anglais
Type Base de données clef-valeur
Politique de distribution Gratuit
Licence RSALv2 et SSPLv1
Site web https://redis.io

Redis (de l'anglais REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant » et jeu de mots avec Redistribute) 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.

Historique

Lancé en 2009 par Salvatore Sanfilippo, le développement du logiciel Redis a été financé par Pivotal Software (en) en mai 2013, puis par Redis Labs en juin 2015.

En juin 2017, il est devenu le neuvième SGBD le plus utilisé au monde, et le premier pour les bases de données clé valeur.

En mars 2024, Redis annonce l'abandon de la license BSD pour une double license moins permissive : RSALv2 (Redis Source Available License) et SSPLv1. 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.

Principales caractéristiques

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.

Afin de communiquer avec un serveur Redis, il faut ouvrir une connexion TCP. Le client et le serveur Redis utilisent alors le protocole RESP (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.

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éprécié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.

Mises en œuvre notables

Notes et références

  1. « Release 7.2.5 », 19 mai 2024 (consulté le 25 mai 2024)
  2. (en) « Redis FAQ », sur Redis (consulté le 19 mai 2023).
  3. « Thanks Pivotal, Hello Redis Labs - », sur antirez.com (consulté le 19 mai 2023).
  4. (en) « DB-Engines Ranking », sur DB-Engines (consulté le 5 septembre 2020).
  5. « Sur fond de changement de licence, Redis rachète SpeeDB »
  6. « La Fondation Linux a fait son choix pour remplacer Redis », sur silicon.fr, 29 mars 2024 (consulté le 26 mai 2024).
  7. « Redis Protocol specification – Redis », sur redis.io (consulté le 28 avril 2020)
  8. https://redis.io/topics/quickstart
  9. (en) « Crowdsourced document analysis and MP expenses », sur simonwillison.net (consulté le 5 septembre 2020).
  10. (en) Tom Preston-Werner, « How We Made GitHub Fast », sur github.com, 20 octobre 2009 (consulté le 5 septembre 2020).
  11. « Does Stack Exchange use caching and if so, how? », sur Meta Stack Exchange (consulté le 5 septembre 2020).
  12. « insidestories.salesforce.com/c… »(Archive.orgWikiwixArchive.isGoogleQue faire ?).

Voir aussi

Articles connexes

Liens externes