(PECL memcache >= 2.0.0)
Memcache::addServer -- memcache_add_server — Ajoute un serveur memcache à la liste de connexion
$host,$port = 11211,$persistent = ?,$weight = ?,$timeout = ?,$retry_interval = ?,$status = ?,$failure_callback = ?,$timeoutms = ?$memcache,$host,$port = 11211,$persistent = ?,$weight = ?,$timeout = ?,$retry_interval = ?,$status = ?,$failure_callback = ?,$timeoutms = ?Memcache::addServer() ajoute un serveur à la liste de connexion.
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énient à 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.
hostunix:///path/to/memcached.sock
pour utiliser les sockets Unix, et dans ce cas, port doit également
être défini à 0.
port0 lors de l'utilisation des sockets Unix.
Note : Par défaut, le paramètre port
prend la valeur de l'option de configuration
memcache.default_port
lorsqu'il n'est pas spécifié. Pour cette raison, il convient
de spécifier explicitement le port lors de l'appel à cette méthode.
persistenttrue.
weighttimeoutretry_intervalpersistent 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
intervalle 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.
statusfalse 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_callbacktimeoutmsExemple #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);
?>
Lorsque le paramètre port n'est pas spécifié, cette méthode
prendra la valeur de la directive de configuration INI
memcache.default_port.
Si cette valeur a été modifiée à un autre endroit dans votre application,
cela peut conduire à des résultats inattendus : pour cette raison, il convient
de toujours spécifier le port explicitement lors de l'appel à la méthode.