perf: 增加原生缓存
This commit is contained in:
53
vendor/illuminate/redis/Connectors/PredisConnector.php
vendored
Normal file
53
vendor/illuminate/redis/Connectors/PredisConnector.php
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Redis\Connectors;
|
||||
|
||||
use Illuminate\Contracts\Redis\Connector;
|
||||
use Illuminate\Redis\Connections\PredisClusterConnection;
|
||||
use Illuminate\Redis\Connections\PredisConnection;
|
||||
use Illuminate\Support\Arr;
|
||||
use Predis\Client;
|
||||
|
||||
class PredisConnector implements Connector
|
||||
{
|
||||
/**
|
||||
* Create a new clustered Predis connection.
|
||||
*
|
||||
* @param array $config
|
||||
* @param array $options
|
||||
* @return \Illuminate\Redis\Connections\PredisConnection
|
||||
*/
|
||||
public function connect(array $config, array $options)
|
||||
{
|
||||
$formattedOptions = array_merge(
|
||||
['timeout' => 10.0], $options, Arr::pull($config, 'options', [])
|
||||
);
|
||||
|
||||
if (isset($config['prefix'])) {
|
||||
$formattedOptions['prefix'] = $config['prefix'];
|
||||
}
|
||||
|
||||
return new PredisConnection(new Client($config, $formattedOptions));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new clustered Predis connection.
|
||||
*
|
||||
* @param array $config
|
||||
* @param array $clusterOptions
|
||||
* @param array $options
|
||||
* @return \Illuminate\Redis\Connections\PredisClusterConnection
|
||||
*/
|
||||
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
|
||||
)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user