Redis
Créateur | Salvatore Sanfilippo |
---|---|
Développé par | Redis Labs |
Première version | |
Dernière version | 7.4.1 ()[1] |
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 et open source |
Licence | BSD |
Site web | http://redis.io |
Redis (de l'anglais REmote DIctionary Server qui peut être traduit par « serveur de dictionnaire distant » et jeu de mot avec Redistribute[2]) est un système de gestion de base de données clef-valeur scalable, très hautes performances, écrit en C ANSI et distribué sous licence BSD. Il fait partie de la mouvance NoSQL et vise à fournir les performances les plus élevées possibles.
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[3].
En juin 2017, il est devenu le neuvième SGDB le plus utilisé au monde, et le premier pour les bases de données clé valeur[4].
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.
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.
Quand la taille des données est trop importante pour tenir en mémoire, Redis peut également utiliser de la mémoire virtuelle.
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 maître-esclave à des fins de résistance aux pannes et de répartition de la charge. Toutes les écritures doivent se faire via l'instance maîtresse, mais il est possible de faire des lectures sur les instances esclaves — si toutefois il n'y a pas de besoin critique d'accéder avec certitude à des données à jour.
Mises en œuvre notables
Notes et références
- « Release 7.4.1 », (consulté le )
- http://redis.io/topics/faq
- http://antirez.com/news/91
- https://db-engines.com/en/ranking
- http://simonwillison.net/2009/Dec/20/crowdsourcing/
- http://github.com/blog/530-how-we-made-github-fast
- http://meta.stackoverflow.com/questions/69164/does-stackoverflow-use-caching-and-if-so-how/69172#69172
- http://highscalability.com/blog/2012/2/16/a-super-short-on-the-youporn-stack-300k-qps-and-100-million.html
- https://insidestories.salesforce.com/concierge
Voir aussi
Articles connexes
Liens externes
- (en) Site officiel
- (en) Redis Desktop Manager, site internet d'un outil de gestion de base de données dédié à Redis