Présentation

Définition de base de Redis

Redis est un logiciel open‑source écrit en ANSI C, un système de stockage / base de données clé‑valeur accessible sur le réseau, fonctionnant en mémoire et avec persistance des données. Il propose des API client pour de multiples langages de programmation.

  1. Il appartient aux bases de données NoSQL non relationnelles ;
  2. Il appartient à la même famille que Memcached, mais il est plus complet et comble beaucoup de ses limites ;
  3. Il est souvent utilisé comme solution de cache complémentaire aux bases relationnelles comme MySQL.

Types de données pris en charge

  • String : type chaîne de caractères
  • List : liste doublement chaînée
  • Set : collection non ordonnée
  • zset(sorted set) : collection triée
  • Hash : structure de hachage (semblable à Map)

Memcached ne gère que le type chaîne, c’est l’une des différences les plus marquantes entre les deux outils.

Fonctionnalités

  1. Prise en charge multi‑langages
    Les SDK officiels existent pour Java, C/C++, C#, PHP, JavaScript, Python, Ruby, Perl et bien d’autres langages pour une intégration facile.
  2. Synchronisation maître‑esclave
    La réplication maître‑esclave permet les sauvegardes distantes et la séparation lecture‑écriture pour améliorer la disponibilité.
  3. Haute performance
    Les données résident principalement en mémoire, les lectures et écritures sont très rapides, il est largement utilisé comme cache distribué.
  4. Persistance des données
    Les données en mémoire peuvent être enregistrées sur disque, elles ne sont pas totalement perdues au redémarrage (Memcached n’a pas de persistance par défaut).

Contexte

Au début, le projet Redis était financé, développé et maintenu par VMware.

Nous allons illustrer l’usage de Redis avec un exemple simple de client Redis WinForm(C#), un programme d’introduction montrant comment connecter C# à Redis.

  • Définir des couples clé‑valeur
  • Récupérer une valeur à partir d’une clé

Comparaison rapide Redis vs Memcached

FonctionnalitéRedisMemcached
Types de données5 structures de baseChaîne uniquement
PersistancePrend en charge RDB/AOFPas de persistance
Réplication maître‑esclaveSupportéPas de support natif
Éviction mémoirePlusieurs politiques d’évictionÉviction LRU

Présentation

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *