Memcache::setServerParams
(PECL memcache >= 2.1.0)
Memcache::setServerParams — Changes server parameters and status at runtime
Description
string
$host
,int
$port
= 11211,int
$timeout
= ?,int
$retry_interval
= false
,bool
$status
= ?,callable
$failure_callback
= ?): bool
Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.
Note:
This function has been added to Memcache version 2.1.0.
Parameters
-
host
-
Point to the host where memcached is listening for connections.
-
port
-
Point to the port where memcached is listening for connections.
-
timeout
-
Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.
-
retry_interval
-
Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the
persistent
parameter has any effect when the extension is loaded dynamically via dl(). -
status
-
Controls if the server should be flagged as online. Setting this parameter to
false
andretry_interval
to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on thememcache.allow_failover
setting. Default totrue
, meaning the server should be considered online. -
failure_callback
-
Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.
Return Values
Returns true
on success or false
on failure.
Examples
Example #1 Memcache::setServerParams() example
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
/* OO API */
$memcache = new Memcache;
// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>
See Also
- Memcache::addServer() - Add a memcached server to connection pool
- Memcache::getServerStatus() - Returns server status