Кэш-память PHP - проверяет, доступен ли какой-либо сервер в пуле?

У меня есть следующий код:

$cluster['local'] = array('host' => '192.168.1.1', 'port' => '11211', 'weight' => 50);
$cluster['local2'] = array('host' => '192.168.1.2', 'port' => '11211', 'weight' => 50);

$this->memcache = new Memcache;

foreach ($this->cluster() as $cluster) {
    $this->memcache->addServer($cluster['host'], $cluster['port'], $this->persistent, $cluster['weight'], 10, 10, TRUE , 'failure' );
}

Я хотел бы сделать функцию, которая проверяет, доступен ли какой-либо из моих серверов в моем Объединении кэш-памяти. Как это могло быть сделано?

5
задан Industrial 23 May 2010 в 13:23
поделиться

2 ответа

Вы можете проверить состояние сервера с помощью Memcache :: getServerStatus .

5
ответ дан 14 December 2019 в 08:44
поделиться

Использование fsockopen () :

$timeout = 1;
$fp = fsockopen('192.168.1.1', 11211,  $errno,  $errstr,  $timeout);

if (is_resource($fp))
{
  // connection to 192.168.1.1:11211 successful
  fclose($fp);
}

else
{
  // failed to connect to 192.168.1.1:11211 within $timeout second(s).
}
2
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: