Je l'ai rencontré lors d'une conférence au Devoxx Paris 2014 suite à une présentation "Tools in action" de Nicolas Martignole "Redis, une base Not Only NoSQL" :
- La présentation Parleys : https://www.parleys.com/play/535e4ed8e4b03397a8eee8d4/chapter0/about
- Les slides : https://speakerdeck.com/nicmarti/redis-une-base-not-only-nosql
- Article sur le blog de Nicolas : http://www.touilleur-express.fr/2013/04/03/redis/
Redis c'est quoi
Redis signifie "REmote DIctionary Server" avec un jeu de mot sur Redistribute (http://redis.io/topics/faq)
Si l'on retient les classifications actuelles, on pourrait la qualifier de base NoSQL clé/valeur. C'est une base in memory qui communique en TCP. Elle est écrite en C ANSI et tourne sur la majeur partie des systèmes dit POSIX, Linux est recommandé (http://redis.io/topics/introduction) mais il existe un portage windows https://github.com/MSOpenTech/redis.
Afin de pouvoir requêter cette base de nombreux de clients ont été développés dans différents langages (Java, C, C#, Go Perl, Haskell, Lua, ...).
- Liste des clients : http://redis.io/clients
- Jedis : https://github.com/xetorthio/jedis
- Redisson : https://github.com/mrniko/redisson
- JRedis : https://github.com/alphazero/jredis
Redis, construit sur la base d'un manifeste, lettre d'intention sur ce qu'il doit être, a une approche qui colle aux structures de données manipulées. Pour preuve son API et la documentation qui donne le Time Complexity (en notation O) des différents points d'API :
- Le manifeste : http://oldblog.antirez.com/post/redis-manifesto.html
- Exemple dans la documentation : http://redis.io/commands/getset
Quand aux utilisations possibles : cache dynamique, base in memory (persistence possible en dump ou journalisation), messaging. Attention à vos contraintes et au CAP théorème.
L'historique
Redis a été créé par Salvatore Sanfilippo et Pieter Noordhuis en 2009 (voir http://redis.io/topics/license).
Avant Mai 2013 le projet était sponsorisé par VMWare, il l'est maintenant par Pivotal.
La version actuelle est la 2.8.17, une version 3.0.0 est en release candidate. L'historique des versions depuis 2009 est accessible via Google Code
Redis est utilisé par quelques grands noms du web :
- http://redis.io/topics/whos-using-redis (github, twitter, ...)
- https://github.com/blog/530-how-we-made-github-fast
Et la concurrence ... Redis est régulièrement comparé à memcached
- http://www.javaworld.com/article/2836878/developer-tools-ide/why-redis-beats-memcached-for-caching.html
- http://www.infoq.com/news/2011/09/java-memcached-rise
Les URLS
Le Site : http://redis.io/
Sous GitHub : https://github.com/antirez/redis
Les download : http://redis.io/download
Benchmarks : http://redis.io/topics/benchmarks
Du côté des développeurs :
- Site de Salvatore Sanfilippo (aka Antirez) : http://invece.org/
- Blog d'Antirez : http://antirez.com/latest/0
- GitHub de Pieter Noordhuis : https://github.com/pietern
Participer aux développements
Pour contribuer à Redis : http://redis.io/community
La mailing : https://groups.google.com/forum/#!forum/redis-db
Pour finir quelques tutoriaux pour s'y essayer :
Aucun commentaire:
Enregistrer un commentaire