Don't use Redis logical databases
This commit is contained in:
parent
7d0851122b
commit
0bfd947f9c
|
@ -155,7 +155,7 @@ return [
|
||||||
$cacheInterface = new Symfony\Component\Cache\Adapter\ArrayAdapter();
|
$cacheInterface = new Symfony\Component\Cache\Adapter\ArrayAdapter();
|
||||||
} elseif ($redisFactory->isSupported()) {
|
} elseif ($redisFactory->isSupported()) {
|
||||||
$cacheInterface = new Symfony\Component\Cache\Adapter\RedisAdapter(
|
$cacheInterface = new Symfony\Component\Cache\Adapter\RedisAdapter(
|
||||||
$redisFactory->createInstance(),
|
$redisFactory->getInstance(),
|
||||||
marshaller: new Symfony\Component\Cache\Marshaller\DefaultMarshaller(
|
marshaller: new Symfony\Component\Cache\Marshaller\DefaultMarshaller(
|
||||||
$environment->isProduction() ? null : false
|
$environment->isProduction() ? null : false
|
||||||
)
|
)
|
||||||
|
@ -190,7 +190,7 @@ return [
|
||||||
Environment $environment,
|
Environment $environment,
|
||||||
App\Service\RedisFactory $redisFactory
|
App\Service\RedisFactory $redisFactory
|
||||||
) => ($redisFactory->isSupported())
|
) => ($redisFactory->isSupported())
|
||||||
? new Symfony\Component\Lock\Store\RedisStore($redisFactory->createInstance())
|
? new Symfony\Component\Lock\Store\RedisStore($redisFactory->getInstance())
|
||||||
: new Symfony\Component\Lock\Store\FlockStore($environment->getTempDirectory()),
|
: new Symfony\Component\Lock\Store\FlockStore($environment->getTempDirectory()),
|
||||||
|
|
||||||
// Console
|
// Console
|
||||||
|
|
|
@ -71,7 +71,6 @@ final class Environment
|
||||||
public const ENABLE_REDIS = 'ENABLE_REDIS';
|
public const ENABLE_REDIS = 'ENABLE_REDIS';
|
||||||
public const REDIS_HOST = 'REDIS_HOST';
|
public const REDIS_HOST = 'REDIS_HOST';
|
||||||
public const REDIS_PORT = 'REDIS_PORT';
|
public const REDIS_PORT = 'REDIS_PORT';
|
||||||
public const REDIS_DB = 'REDIS_DB';
|
|
||||||
|
|
||||||
public function __construct(array $elements = [])
|
public function __construct(array $elements = [])
|
||||||
{
|
{
|
||||||
|
@ -368,7 +367,6 @@ final class Environment
|
||||||
* @return array{
|
* @return array{
|
||||||
* host: string,
|
* host: string,
|
||||||
* port: int,
|
* port: int,
|
||||||
* db: int,
|
|
||||||
* socket?: string
|
* socket?: string
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
@ -384,10 +382,6 @@ final class Environment
|
||||||
$this->data[self::REDIS_PORT] ?? null,
|
$this->data[self::REDIS_PORT] ?? null,
|
||||||
6379
|
6379
|
||||||
),
|
),
|
||||||
'db' => Types::int(
|
|
||||||
$this->data[self::REDIS_DB] ?? null,
|
|
||||||
1
|
|
||||||
),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if ('localhost' === $redisSettings['host'] && $this->isDocker()) {
|
if ('localhost' === $redisSettings['host'] && $this->isDocker()) {
|
||||||
|
|
|
@ -182,12 +182,6 @@ final class AzuraCastEnvFile extends AbstractEnvFile
|
||||||
'default' => $redisSettings['port'],
|
'default' => $redisSettings['port'],
|
||||||
'required' => true,
|
'required' => true,
|
||||||
],
|
],
|
||||||
Environment::REDIS_DB => [
|
|
||||||
'name' => __('Redis Database Index'),
|
|
||||||
'options' => range(0, 15),
|
|
||||||
'default' => $redisSettings['db'],
|
|
||||||
'required' => true,
|
|
||||||
],
|
|
||||||
'PHP_MAX_FILE_SIZE' => [
|
'PHP_MAX_FILE_SIZE' => [
|
||||||
'name' => __('PHP Maximum POST File Size'),
|
'name' => __('PHP Maximum POST File Size'),
|
||||||
'default' => '25M',
|
'default' => '25M',
|
||||||
|
|
|
@ -57,7 +57,7 @@ final class QueueManager extends AbstractQueueManager
|
||||||
'redeliver_timeout' => 43200,
|
'redeliver_timeout' => 43200,
|
||||||
'claim_interval' => 86400,
|
'claim_interval' => 86400,
|
||||||
],
|
],
|
||||||
$this->redisFactory->createInstance()
|
$this->redisFactory->getInstance()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,27 +12,30 @@ final class RedisFactory
|
||||||
{
|
{
|
||||||
use EnvironmentAwareTrait;
|
use EnvironmentAwareTrait;
|
||||||
|
|
||||||
|
protected ?Redis $instance = null;
|
||||||
|
|
||||||
public function isSupported(): bool
|
public function isSupported(): bool
|
||||||
{
|
{
|
||||||
return !$this->environment->isTesting() && $this->environment->enableRedis();
|
return !$this->environment->isTesting() && $this->environment->enableRedis();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function createInstance(): Redis
|
public function getInstance(): Redis
|
||||||
{
|
{
|
||||||
if (!$this->isSupported()) {
|
if (!$this->isSupported()) {
|
||||||
throw new RuntimeException('Redis is disabled on this installation.');
|
throw new RuntimeException('Redis is disabled on this installation.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$settings = $this->environment->getRedisSettings();
|
if (null === $this->instance) {
|
||||||
|
$settings = $this->environment->getRedisSettings();
|
||||||
|
|
||||||
$redis = new Redis();
|
$this->instance = new Redis();
|
||||||
if (isset($settings['socket'])) {
|
if (isset($settings['socket'])) {
|
||||||
$redis->connect($settings['socket']);
|
$this->instance->connect($settings['socket']);
|
||||||
} else {
|
} else {
|
||||||
$redis->connect($settings['host'], $settings['port'], 15);
|
$this->instance->connect($settings['host'], $settings['port'], 15);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$redis->select($settings['db']);
|
|
||||||
|
|
||||||
return $redis;
|
return $this->instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue