Vous allez vendre votre Mac et vous avez besoin de le formater pour supprimer toutes vos informations personnelles et confidentielles. Alors voici la procédure à suivre :
Et voilà, vous avez un système tout beau tout neuf, comme quand vous l’aviez acheté.
J’entends parler de memcached comme la solution miracle pour optimiser son site. Digg l’utilise, Facebook l’utilise et d’autres sites à fort trafic. Memcached a été développé à l’origine pour les besoins de LiveJournal (une plateforme de blogs).
J’avais regardé à l’époque vite fait de quoi il en retournait mais cela restait très obscure. Dernièrement, je me suis jeté à l’eau. Et j’ai compris que memcached stockait simplement des données en mémoire (explication basique).
Et MySQL alors ? La principale utilisation de Memcached : cacher les requêtes MySQL. Mais il faut savoir que Memcached ne se limite pas à MySQL.
Le principe, c’est de mettre en cache dans memcached les requêtes lourdes. Le resultat de la requête se trouvera dans memcached. Au lieu de faire un SELECT compliqué sur une base de données avec des accès disques, on fait simplement un accès à la mémoire.
Mauvaise nouvelle, pour utiliser Memcached avec MySQL, il faudra adapter son code PHP.
Bonne nouvelle, si vous utilisez une application PHP, comme WordPress, MediaWiki, etc … vous trouverez surement des plugins qui vous permettront de greffer memcached facilement.
Installation de Memcached
Pour l’utiliser, il faut l’installer, c’est con non ?
# emerge --ask memcached
Ensuite, il faut le démarrer (c’est un serveur)
# /etc/init.d/memcached start
Par défaut, memcached se lance en localhost sur le port 11211 et alloue 64 Mo de mémoire. Vous pouvez changer cela en modifiant le fichier de configuration (/etc/conf.d/memcached)
Installer un client PHP : PECL Memcache
Pour utiliser memcached, il faut se connecter au server memcached avec un client. Si vous développez en PHP, il vous faudra un client memcached pour PHP, j’ai nommé PECL Memcache.
Pour l’installer sur gentoo, voici la manip à faire :
# echo "=dev-php5/pecl-memcache-3.0.1" >> /etc/portage/package.keywords
# emerge -pv dev-php5/pecl-memcache
Et voilà. Redémarrez votre serveur web (apache) et vous devriez voir apparaitre memcache dans votre phpinfo.
Pour l’utiliser, c’est simple, voici un petit bout de code assez clair :
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Connexion impossible");
$version = $memcache->getVersion();
echo 'Version du serveur : '.$version;
// On stocke koreus dans la clef "key"
$memcache->set('key', 'koreus', false, 10) or die ("Echec de la sauvegarde des données sur le serveur");
echo "Les données ont été stockées dans le cache (les données expireront dans 10 secondes)";
// On recupère la valeur de la clef "key"
$get_result = $memcache->get('key');
echo 'Données depuis le cache : '. $get_result;
?>
Toute la doc pour utiliser le client se trouve à cette adresse : PHP Memcache