Forum und email

Memcache::addServer

(No version information available, might be only in CVS)

Memcache::addServer — Ajoute un serveur memcache à la liste de connexion

Description

bool Memcache::addServer ( string $host [, int $port [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, callback $failure_callback ]]]]]]] )

Memcache::addServer() ajoute un serveur à la liste de connexion. La connexion, qui a été ouverte avec la fonction Memcache::addServer(), sera automatiquement fermée à la fin de l'exécution du script ; vous pouvez également la fermer manuellement avec la fonction Memcache::close(). Vous pouvez également utiliser la fonction memcache_add_server().

Lors de l'utilisation de cette méthode (contrairement aux méthodes Memcache::connect()() et Memcache::pconnect()()), la connexion au réseau n'est pas établie sans qu'elle ne soit nécessaire. De plus, il n'y a aucun inconvégniant à ajouter beaucoup de serveurs à la liste, même s'ils ne seront pas tous utilisés.

Le basculement peut se produire à n'importe quel moment avec n'importe quelle méthode tant que les autres serveurs sont disponibles, la requête n'émettra pas d'erreur. N'importe quel interface de connexion ou niveau d'erreurs de serveur Memcache (à l'exception du manque de mémoire) peut lancer le basculement. Des erreurs normales de client comme l'ajout d'une clé existante ne lancera pas un basculement.

Note: Cette fonction a été ajoutée à la version de Memcache 2.0.0.

Liste de paramètres

host

Pointe à l'hôte où memcache écoute pour des connexions. Ce paramètre peut également spécifier d'autres transporteurs comme unix:///path/to/memcached.sock pour utiliser les sockets Unix, et dans ce cas, port doit également être défini à 0.

port

Pointe au port où memcache écoute pour des connexions. Ce paramètre est optionnel et sa valeur par défaut est 11211. Définissez ce paramètre à 0 lors de l'utilisation des sockets Unix.

persistent

Contrôle l'utilisation d'une connexion persistante. La valeur par défaut est TRUE.

weight

Nombre d'entrées à créer pour ce serveur qui en retour contrôle sa probabilité d'être choisi. La probabilité est relative au poids total de tous les serveurs.

timeout

Valeur en seconde qui sera utilisée pour se connecter au daemon. 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 un serveur qui échoue sera retenté, 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().

Chaque structure de connexion échouée a son propre dépassement de temps et avant que celui-ci expire, il sera sauté lors de la sélection du processus pour servir une requête. Une fois expiré, la connexion sera correctement reconnectée ou marquée comme échouée pour un autre interval de retry_interval secondes. L'effet typique est que chaque enfant de serveur Web essaiera la connexion chaque retry_interval secondes lorsqu'il sert une page.

status

Contrôle si le serveur doit être flaggué comme étant en ligne. Si ce paramètre vaut FALSE et le paramètre retry_interval -1, cela permet de conserver un serveur qui a échoué dans la liste et n'affectera pas l'algorythme 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 callback permettant de contourner une erreur. Le callback est exécuté 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é.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Example#1 Exemple avec Memcache::addServer()

<?php

/* API orientée objet */

$memcache = new Memcache;
$memcache->addServer('memcache_host'11211);
$memcache->addServer('memcache_host2'11211);

/* API procédurale */

$memcache_obj memcache_connect('memcache_host'11211);
memcache_add_server($memcache_obj'memcache_host2'11211);

?>

Voir aussi

  • Memcache::connect()
  • Memcache::pconnect()
  • Memcache::close()
  • Memcache::setServerParams()
  • Memcache::getServerStatus()