Manuel PHP
Précédent |  | Suivant

# LX. Fonctions Memcache

# Introduction

Le module Memcache fournit une interface procédurale maniable ainsi qu'orientée objet à Memcache, un démon fortement efficace dans la gestion du cache, qui est principalement destiné à faire baisser la charge des bases de données dans les applications web dynamiques.

Plus d'informations concernant Memcache peuvent être consultées sur http://www.danga.com/memcached/.

# Pré-requis

Ce module utilise les fonctions de la bibliothèque zlib pour supporter la compression des données à la volée. Zlib est donc requis pour installer ce module.

PHP 4.3.3 ou supérieur est requis pour utiliser l'extension Memcache.

# Installation

Cette extension PECL n'est pas intégrée à PHP. Des informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : http://pecl.php.net/package/memcache.

Pour utiliser ces fonctions, vous devez compiler PHP avec le support MemCache en utilisant l'option de configuration --with-memcache[=DIR].

Les utilisateurs de Windows doivent activer la bibliothèque `php_memcache.dll` dans le `php.ini` pour pouvoir utiliser ces fonctions. Vous pouvez télécharger ces bibliothèques DLL pour ces extensions PECL depuis la page de téléchargement de PHP sous sur la page http://snaps.php.net/.

# Constantes prédefinies

Tableau 1. Constantes MemCache

Nom | Description
--- | ---
`MEMCACHE_COMPRESSED` (entier) | Utilisée pour activer à la volée la compression des données avec les fonctions Memcache::set(), Memcache::add() et Memcache::replace().

# Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

# Types de ressources

Il n'y a qu'une seule ressource utilisée par le module Memcache : c'est le lien identifiant représentant la connexion du serveur de cache.

# Exemples

Exemple 1. Exemple avec l'extension Memcache

`<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Connexion impossible");
$version = $memcache->getVersion();
echo "Version du serveur : ".$version."<br />\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, 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)<br />\n";
$get_result = $memcache->get('key');
echo "Données depuis le cache :<br />\n";
var_dump($get_result);
?>`

Dans l'exemple ci-dessus, un objet est sauvegardé dans le cache et ensuite, affiché. Les objets ainsi que les autres types non-scalaires sont linéarisés avant d'être sauvegardé ; il est donc impossible d'y stocker des ressources (i.e. identifiant de connexion et autres) dans le cache.

Précédent | Sommaire | Suivant
mcve_void | Niveau supérieur | Memcache::add