- Модуль: cluster
- Путь к файлу: ~/bitrix/modules/cluster/classes/general/redis_cache.php
- Класс: CPHPCacheRedisCluster
- Вызов: CPHPCacheRedisCluster::__construct
public function __construct($options = [])
{
if (self::$engine == null)
{
static::LoadConfig();
if (defined("BX_CLUSTER_GROUP"))
{
$this->bQueue = true;
}
$config = $this->configure();
if ($config && is_array($config))
{
if (isset($config['failover']))
{
$this->failover = $config['failover'];
}
if (isset($config['timeout']))
{
$config['timeout'] = (float) $config['timeout'];
if ($config['timeout'] > 0)
{
$this->timeout = $config['timeout'];
}
}
if (isset($config["read_timeout"]))
{
$config['read_timeout'] = (float) $config['read_timeout'];
if ($config['read_timeout'] > 0)
{
$this->readTimeout = $config['read_timeout'];
}
}
}
$connectionPool = Application::getInstance()->getConnectionPool();
$connectionPool->setConnectionParameters(
$this->getConnectionName(),
[
'className' => RedisConnection::class,
'servers' => self::$servers,
'timeout' => $this->timeout,
'readTimeout' => $this->readTimeout,
'serializer' => $config['serializer'],
'failover' => $this->failover,
'persistent' => $config['persistent'],
]
);
/** @var RedisConnection $engineConnection */
$engineConnection = $connectionPool->getConnection($this->getConnectionName());
self::$engine = $engineConnection->getResource();
self::$isConnected = $engineConnection->isConnected();
}
$this->sid = BX_REDIS_CLUSTER . $this->sid;
}