mirror of
https://github.com/predis/predis.git
synced 2026-09-11 19:07:30 +00:00
Use a random IP when a host has several IPs.
Using gethostbyname, we will reuse the same (first) IP address for each request. Here, we choose the IP we use randomly. This is practical in a case where we have multiple redis read-only slaves that can't invidually support the full application load, but are accessible through a single hostname.
This commit is contained in:
@@ -236,10 +236,10 @@ class PhpiredisConnection extends AbstractConnection
|
||||
$host = $parameters->host;
|
||||
|
||||
if (ip2long($host) === false) {
|
||||
if (($address = gethostbyname($host)) === $host) {
|
||||
if (($addresses = gethostbynamel($host)) === false) {
|
||||
$this->onConnectionError("Cannot resolve the address of $host");
|
||||
}
|
||||
return $address;
|
||||
return $addresses[array_rand($addresses)];
|
||||
}
|
||||
|
||||
return $host;
|
||||
|
||||
Reference in New Issue
Block a user