Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php
Строк: 111
<?php

namespace IlluminateRedisConnectors;

use 
IlluminateContractsRedisConnector;
use 
IlluminateRedisConnectionsPredisClusterConnection;
use 
IlluminateRedisConnectionsPredisConnection;
use 
IlluminateSupportArr;
use 
IlluminateSupportStr;
use 
PredisClient;

class 
PredisConnector implements Connector
{
    
/**
     * Create a new connection.
     *
     * @param  array  $config
     * @param  array  $options
     * @return IlluminateRedisConnectionsPredisConnection
     */
    
public function connect(array $config, array $options)
    {
        
$formattedOptions array_merge(
            [
'timeout' => 10.0], $optionsArr::pull($config'options', [])
        );

        if (isset(
$config['prefix'])) {
            
$formattedOptions['prefix'] = $config['prefix'];
        }

        if (isset(
$config['host']) && str_starts_with($config['host'], 'tls://')) {
            
$config['scheme'] = 'tls';
            
$config['host'] = Str::after($config['host'], 'tls://');
        }

        return new 
PredisConnection(new Client($config$formattedOptions));
    }

    
/**
     * Create a new clustered Predis connection.
     *
     * @param  array  $config
     * @param  array  $clusterOptions
     * @param  array  $options
     * @return IlluminateRedisConnectionsPredisClusterConnection
     */
    
public function connectToCluster(array $config, array $clusterOptions, array $options)
    {
        
$clusterSpecificOptions Arr::pull($config'options', []);

        if (isset(
$config['prefix'])) {
            
$clusterSpecificOptions['prefix'] = $config['prefix'];
        }

        return new 
PredisClusterConnection(new Client(array_values($config), array_merge(
            
$options$clusterOptions$clusterSpecificOptions
        
)));
    }
}
Онлайн: 0
Реклама