<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.memcache.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'memcache.addserver.php',
    1 => 'Memcache::addServer',
    2 => 'A&ntilde;ade un servidor memcache a la lista de conexi&oacute;n',
  ),
  'up' => 
  array (
    0 => 'class.memcache.php',
    1 => 'Memcache',
  ),
  'prev' => 
  array (
    0 => 'memcache.add.php',
    1 => 'Memcache::add',
  ),
  'next' => 
  array (
    0 => 'memcache.close.php',
    1 => 'Memcache::close',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/memcache/memcache/addserver.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="memcache.addserver" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Memcache::addServer</h1>
  <h1 class="refname">memcache_add_server</h1>
  <p class="verinfo">(PECL memcache &gt;= 2.0.0)</p><p class="refpurpose"><span class="refname">Memcache::addServer</span> -- <span class="refname">memcache_add_server</span> &mdash; <span class="dc-title">Añade un servidor memcache a la lista de conexión</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-memcache.addserver-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>Memcache::addServer</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$host</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$port</code><span class="initializer"> = 11211</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$persistent</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$weight</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timeout</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$retry_interval</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$status</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$failure_callback</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timeoutms</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <div class="methodsynopsis dc-description"><span class="methodname"><strong>memcache_add_server</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="class.memcache.php" class="type Memcache">Memcache</a></span> <code class="parameter">$memcache</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$host</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$port</code><span class="initializer"> = 11211</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$persistent</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$weight</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timeout</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$retry_interval</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$status</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$failure_callback</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$timeoutms</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>


  <p class="simpara">
   <span class="function"><strong>Memcache::addServer()</strong></span> añade un servidor a la lista de
   conexión.
  </p>

  <p class="simpara">
   Al utilizar este método (a diferencia de los métodos
   <span class="function"><a href="memcache.connect.php" class="function">Memcache::connect()</a></span> y <span class="function"><a href="memcache.pconnect.php" class="function">Memcache::pconnect()</a></span>),
   la conexión a la red no se establece hasta que sea necesaria. Además,
   no hay inconveniente en añadir muchos servidores a la lista, incluso si no
   todos serán utilizados.
  </p>

  <p class="simpara">
   El fallo puede producirse en cualquier momento con cualquier
   método siempre que otros servidores estén disponibles, la petición
   no emitirá error. Cualquier interfaz de conexión o nivel de errores de servidor Memcache (a excepción de la falta de memoria) puede
   lanzar el fallo. Errores normales de cliente como añadir una
   clave existente no lanzará un fallo.
  </p>

  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Esta función fue añadida en la versión 2.0.0 de Memcache.
   </span>
  </p></blockquote>

 </div>


 <div class="refsect1 parameters" id="refsect1-memcache.addserver-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">host</code></dt>
    <dd>
     <span class="simpara">
      Apunta al host donde memcache escucha para conexiones. Este parámetro puede especificar también otros transportes como <code class="literal">unix:///path/to/memcached.sock</code>
      para usar sockets Unix, y en este caso, <code class="parameter">port</code> debe definirse también a <code class="literal">0</code>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">port</code></dt>
    <dd>
     <span class="simpara">
      Apunta al puerto donde memcache escucha para conexiones.
      Defínase este parámetro a <code class="literal">0</code> al usar sockets Unix.
     </span>
     <span class="simpara">
      Nota: Por omisión, el parámetro <code class="parameter">port</code>
      toma el valor de la opción de configuración
      <a href="memcache.ini.php#ini.memcache.default-port" class="link">memcache.default_port</a>
      cuando no se especifica. Por esta razón, es recomendable
      especificar explícitamente el puerto al llamar a este método.
     </span>
    </dd>
   
   
    <dt><code class="parameter">persistent</code></dt>
    <dd>
     <span class="simpara">
      Controla el uso de una conexión persistente. El valor por
      omisión es <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">weight</code></dt>
    <dd>
     <span class="simpara">
      Número de entradas a crear para este servidor que a su vez controla su
      probabilidad de ser elegido. La probabilidad es relativa al peso total
      de todos los servidores.
     </span>
    </dd>
   
   
    <dt><code class="parameter">timeout</code></dt>
    <dd>
     <span class="simpara">
      Valor en segundos que será utilizado para conectarse al demonio.
      Piénsese dos veces antes de cambiar el valor por omisión de un segundo
      - podría perderse todos los beneficios de usar la caché si la conexión es demasiado lenta.
     </span>
    </dd>
   
   
    <dt><code class="parameter">retry_interval</code></dt>
    <dd>
     <span class="simpara">
      Controla cuántas veces se intentará un servidor que falla, el valor
      por omisión es de 15 segundos. Si este parámetro vale -1, no se realizará
      ningún nuevo intento. Ni este parámetro, ni el parámetro
      <code class="parameter">persistent</code> tienen efecto cuando esta extensión
      se carga dinámicamente mediante la función <span class="function"><a href="function.dl.php" class="function">dl()</a></span>.
     </span>
     <span class="simpara">
      Cada estructura de conexión fallida tiene su propio tiempo límite
      y antes de que este expire, será saltada durante la selección del
      proceso para servir una petición. Una vez expirado, la conexión será
      correctamente reconectada o marcada como fallida por otro
      intervalo de <code class="parameter">retry_interval</code> segundos. El efecto
      típico es que cada hijo de servidor web intentará la conexión
      cada <code class="parameter">retry_interval</code> segundos al servir una página.
     </span>
    </dd>
   
   
    <dt><code class="parameter">status</code></dt>
    <dd>
     <span class="simpara">
      Controla si el servidor debe ser indicado como en línea.
      Cuando este parámetro vale <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> y el parámetro <code class="parameter">retry_interval</code>
      vale -1, permite mantener un servidor fallido en la lista
      y no afectará al algoritmo de distribución de claves. Las peticiones
      para este servidor fallarán inmediatamente según la configuración del
      parámetro <code class="parameter">memcache.allow_failover</code>.
      Por omisión, este parámetro vale <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, significando que el servidor debe ser
      considerado como en línea.
     </span>
    </dd>
   
   
    <dt><code class="parameter">failure_callback</code></dt>
    <dd>
     <span class="simpara">
      Permite al usuario especificar una función de retorno para manejar un error. La función de retorno se ejecuta antes de alcanzar el límite de intentos. La función toma dos parámetros; el nombre del host y el puerto
      del servidor que falló.
     </span>
    </dd>
   
   
    <dt><code class="parameter">timeoutms</code></dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-memcache.addserver-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-memcache.addserver-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-1">
   <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>Memcache::addServer()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/* API orientada a objetos */<br /><br /></span><span style="color: #0000BB">$memcache </span><span style="color: #007700">= new </span><span style="color: #0000BB">Memcache</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$memcache</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addServer</span><span style="color: #007700">(</span><span style="color: #DD0000">'memcache_host'</span><span style="color: #007700">, </span><span style="color: #0000BB">11211</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$memcache</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addServer</span><span style="color: #007700">(</span><span style="color: #DD0000">'memcache_host2'</span><span style="color: #007700">, </span><span style="color: #0000BB">11211</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* API procedimental */<br /><br /></span><span style="color: #0000BB">$memcache_obj </span><span style="color: #007700">= </span><span style="color: #0000BB">memcache_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'memcache_host'</span><span style="color: #007700">, </span><span style="color: #0000BB">11211</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">memcache_add_server</span><span style="color: #007700">(</span><span style="color: #0000BB">$memcache_obj</span><span style="color: #007700">, </span><span style="color: #DD0000">'memcache_host2'</span><span style="color: #007700">, </span><span style="color: #0000BB">11211</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-memcache.addserver-notes">
  <h3 class="title">Notas</h3>
  <div class="warning"><strong class="warning">Advertencia</strong>
   <p class="simpara">
    Cuando el parámetro <code class="parameter">port</code> no se especifica, este método
    tomará el valor de la directiva de configuración INI
    <a href="memcache.ini.php#ini.memcache.default-port" class="link">memcache.default_port</a>.
    Si este valor ha sido modificado en otro lugar de su aplicación,
    esto puede llevar a resultados inesperados: por esta razón, es recomendable
    siempre especificar el puerto explícitamente al llamar al método.
   </p>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-memcache.addserver-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="memcache.connect.php" class="function" rel="rdfs-seeAlso">Memcache::connect()</a> - Establece una conexi&oacute;n con el servidor Memcache</span></li>
   <li><span class="function"><a href="memcache.pconnect.php" class="function" rel="rdfs-seeAlso">Memcache::pconnect()</a> - Establece una conexi&oacute;n persistente a un servidor de cach&eacute;</span></li>
   <li><span class="function"><a href="memcache.close.php" class="function" rel="rdfs-seeAlso">Memcache::close()</a> - Cierra la conexi&oacute;n con el servidor Memcache</span></li>
   <li><span class="function"><a href="memcache.setserverparams.php" class="function" rel="rdfs-seeAlso">Memcache::setServerParams()</a> - Modifica los par&aacute;metros y los estados del servidor durante la ejecuci&oacute;n</span></li>
   <li><span class="function"><a href="memcache.getserverstatus.php" class="function" rel="rdfs-seeAlso">Memcache::getServerStatus()</a> - Retorna el estado del servidor</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>