Memcache::addServer
(PECL memcache >= 2.0.0)
Memcache::addServer — Ajoute un serveur memcache à la liste de connexion
Description
$host
[, int $port
= 11211
[, bool $persistent
[, int $weight
[, int $timeout
[, int $retry_interval
[, bool $status
[, callable $failure_callback
[, int $timeoutms
]]]]]]]] ) : boolMemcache::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.
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. Définissez ce paramètre à 0 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. -
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 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 un serveur qui échoue sera tenté à nouveau, 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 intervalle de
retry_interval
secondes. L'effet typique est que chaque enfant de serveur Web essaiera la connexion chaqueretry_interval
secondes lorsqu'il sert une page. -
status
-
Contrôle si le serveur doit être indiqué comme étant en ligne. Quand ce paramètre vaut
FALSE
et le paramètreretry_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ètrememcache.allow_failover
. Par défaut, ce paramètre vautTRUE
, 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. La fonction de rappel 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é.
-
timeoutms
-
Notes
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 innatendus : pour cette raison, il convient
de toujours spécifier le port explicitement lors de l'appel à la méthode.
Exemples
Exemple #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() - Ouvre une connexion avec le serveur Memcache
- Memcache::pconnect() - Ouvre un connexion persistante à un serveur de cache
- Memcache::close() - Ferme la connexion avec le serveur Memcache
- Memcache::setServerParams() - Modifit les paramètres et les statuts du serveur pendant l'exécution
- Memcache::getServerStatus() - Retourne le statut du serveur
Version en cache
23/12/2024 03:37:59 Cette version de la page est en cache (à la date du 23/12/2024 03:37:59) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-memcache.addserver.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.