(PECL memcache >= 2.1.0)
Memcache::setServerParams — Modifit les paramètres et les statuts du serveur pendant l'exécution
$host
,$port
= 11211,$timeout
= ?,$retry_interval
= false
,$status
= ?,$failure_callback
= ?Memcache::setServerParams() modifie les paramètres du serveur durant l'exécution. Vous pouvez également utiliser la fonction memcache_set_server_params().
Note:
Cette fonction a été ajoutée en Memcache version 2.1.0.
host
Hôte où memcache écoute pour des connexions.
port
Port où memcache écoute pour des connexions.
timeout
Valeur en seconde qui sera utilisée pour se connecter au démon. Pensez-y deux fois avant de changer la valeur par défaut d'une seconde - vous pourriez perdre tous les avantages de l'utilisation de la cache si votre connexion est trop lente.
retry_interval
Contrôle combien de fois la connexion à un serveur qui échoue sera essayée :
la valeur par défaut est de 15 secondes. Si ce paramètre vaut -1, aucune nouvelle
tentative ne sera effectuée. Ni ce paramètre, ni le paramètre
persistent
n'ont d'effet lorsque cette extension
est chargée dynamiquement via la fonction dl().
status
Contrôle si le serveur doit être indiqué comme étant en ligne.
Quand ce paramètre vaut false
et le paramètre retry_interval
vaut -1, cela permet de conserver un serveur qui a échoué dans la liste
et n'affectera pas l'algorithme de distribution des clés. Les demandes
pour ce serveur échoueront immédiatement suivant la configuration du
paramètre memcache.allow_failover
.
Par défaut, ce paramètre vaut true
, signifiant que le serveur doit être
considéré comme étant en ligne.
failure_callback
Permet à l'utilisateur de spécifier une fonction de rappel permettant de contourner une erreur. Le fonction est exécutée avant d'atteindre la limite de tentative. La fonction prend deux paramètres ; le nom de l'hôte et le port du serveur qui a échoué.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Exemple #1 Exemple avec Memcache::setServerParams()
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
/* API orientée objet */
$memcache = new Memcache;
// Ajoute le serveur en mode hors ligne
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// Replace le serveur en ligne
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* API procédurale */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>