Redis

Version datée du 9 mai 2025 à 19:27 par imported>fkEndpqj (Initial import)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

1 Présentation[modifier le wikicode]

Redis (REmote DIctionary Server) est une base de données clé-valeur en mémoire, open source et très rapide, conçue pour le stockage, la gestion et la récupération de données sous forme de structures de données diverses comme des chaînes, des listes, des ensembles, des ensembles triés, des hachages, etc. Créée par Salvatore Sanfilippo en 2009, Redis est très populaire pour ses performances et sa simplicité d'utilisation.

2 Fonctionnalités clés[modifier le wikicode]

  • Stockage en mémoire : Redis stocke les données principalement en mémoire vive, ce qui lui permet d'atteindre des temps de réponse très courts.
  • Structures de données variées : Supports pour strings, listes, ensembles, ensembles ordonnés, hachages, bitmaps, hyperloglogs et streams.
  • Persistance : Redis peut sauvegarder les données sur disque en snapshotting ou en journal d’écritures (AOF).
  • Replication : Redis supporte la réplication asynchrone maître-esclave.
  • Transactions et scripts Lua : Utilisation de transactions atomiques et exécution de scripts Lua pour les opérations complexes.
  • Haute disponibilité et clustering : Redis Sentinel permet la gestion de la haute disponibilité ; le clustering Redis gère la répartition automatique des données sur plusieurs nœuds.
  • Pub/Sub : Système de publication et abonnement intégré pour la communication entre applications.
  • Support multi-langages : Des clients officiels et non officiels existent pour presque tous les langages de programmation.

3 Architecture[modifier le wikicode]

Redis est conçu comme un serveur unique qui maintient toutes les données en mémoire vive, mais peut sauvegarder et restaurer à partir du disque dur. Son modèle d'accès simple clé-valeur est complété par un ensemble d'opérations atomiques sur les différents types de structures.

4 Cas d’utilisation[modifier le wikicode]

Redis est très utilisé dans les domaines suivants :

  • Cache de données pour améliorer la latence applicative.
  • Sessions utilisateur dans les applications web.
  • Gestion de files d’attente et systèmes de messagerie.
  • Comptage et analytics en temps réel.
  • Système de leaderboards et traitement de données temps réel.

5 Installation[modifier le wikicode]

Redis est disponible sur la plupart des distributions Linux, via des gestionnaires de paquets ou en compilant la source disponible sur Site officiel de Redis.

Exemple d’installation simple sous Ubuntu :

sudo apt-get update
sudo apt-get install redis-server

Puis démarrage du service :

sudo systemctl start redis-server

6 Syntaxe d’utilisation basique[modifier le wikicode]

Voici quelques exemples de commandes Redis en CLI :

  • SET clé valeur : stocke une valeur.
  • GET clé : récupère une valeur.
  • LPUSH liste valeur : ajoute une valeur en tête d'une liste.
  • SMEMBERS ensemble : liste les membres d’un ensemble.

7 Culture et petites anecdotes[modifier le wikicode]

  • Le logo de Redis est une pile de cubes empilés. Pourquoi ? Parce qu'une base en mémoire, c'est comme une pile de Lego très rapide.
  • Salvatore Sanfilippo, le créateur, a inventé Redis pour s’amuser pendant une semaine, puis cela a dépassé toutes ses attentes.
  • Redis est présenté parfois comme "le couteau suisse" du développeur pour sa richesse fonctionnelle.

8 Voir aussi[modifier le wikicode]

9 Liens externes[modifier le wikicode]

10 Notes et références[modifier le wikicode]