Memcached : mise en cache et partage de données entre applications

Dimanche 24 février 2008 par dominique
Posté dans Technique

Memcached est un outils de mise en mémoire cache de données. Le but est de charger en mémoire des données à durée de vie assez longue et ensuite de ne plus les lire systématiquement par exemple dans une base de données avec un temps d’accès long et une charge CPU non négligeable.

A chaque donnée mise dans le cache est associée une « durée de vie » (5 minutes, 1 heure, 1 jour, …). A la fin de cette durée de vie, les données ne sont plus disponibles et donc doivent être relues dans une base de données par exemple et remises dans le cache.

Memcached est un démon (un service sous Windows) qui est accessible au moyen d’une communication sur un port TCP. Il n’est pas nécessaire de s’y connaître en programmation et protocoles réseaux car des librairies spécifiques existent pour différents langages tel que PHP ou Java. Ce mode de fonctionnement permet d’utiliser Memcached pour stocker des données au service d’une application Web et donc disponibles pour une ou plusieurs pages de l’application. Il est également possible de partager des données entre plusieurs applications sur un même serveur ou encore plus fort de partager des données entre plusieurs serveurs. Dans le cas de partage de données entre plusieurs serveur, le démon Memcached est installé sur un seul serveur.

Le site officiel de Memcached est ici. Il s’agit d’une version pour Linux, mais un portage pour Windows est disponible ici.

Des API clients sont disponibles pour un grand nombre de langages de programmation. La liste est ici.

Memcached est disponible sous forme de package dans la plupart des distributions Linux. Par contre, ces packages ne sont pas toujours à jour. Par exemple, pour Debian Etch la version disponible est 1.1.12 (de fin 2006) alors que la dernière version est 1.2.4. Il peut être alors souhaitable d’installer Memcached sans utiliser le package de sa distribution Linux. Un très bon article (en anglais) décrivant l’installation manuelle de Memcached sous Debian Etch est disponible ici. Il faut vérifier pour chacune des librairies citées dans cet article que des versions plus récentes n’existent pas.

Voici une série d’articles intéressants sur Memcached :

De mon coté, j’utilise Memcached pour le site Crossfeeds. Le but est d’éviter une requête SQL complexe (avec group by et order by) et longue pour l’affichage de la liste des langues dans les options de recherche ici.

Partager ...
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Add to favorites
  • email
  • LinkedIn
  • Scoopeo
  • Twitter
  • viadeo FR
  • Wikio FR

Vous pouvez suivre les commentaires à ce message au travers du flux RSS 2.0 . Vous pouvez laisser un commentaire, ou placer un trackback depuis votre propre site.

Une résponse à “Memcached : mise en cache et partage de données entre applications”

  1. Moi j’ai un problème pour le moment avec memCache, je ne peux pas stocker des variables de plus de 16318 octets

    et le compress ne marche jamais.

    Revision $Revision: 1.39 $

Ajouter un commentaire

A propos

Je suis informaticien indépendant. J'interviens principalement dans les domaines de la gestion documentaire et des moteurs de recherches. Ce blog me permet de partager des informations techniques découvertes au cours de mes différents projets ou lors de mes lectures sur le Web.

Dominique - www.eolya.fr

Optimisez la lecture de vos blogs et sites d'information préférés

Crossfeeds est un service Web de mixage et de filtrage de flux RSS. Crossfeeds dispose d'une base de 600.000 flux et offre des fonctionnalités de recherche dans les flux et d'alertes par emails.

http://www.crossfeeds.fr/