Php 无法在Laravel命令中创建多个redis连接
我正在尝试在Laravel命令中创建多个Redis连接。它只允许我在其中创建一个连接,对于其他连接,它会错误地失败Php 无法在Laravel命令中创建多个redis连接,php,laravel,redis,laravel-5.8,Php,Laravel,Redis,Laravel 5.8,我正在尝试在Laravel命令中创建多个Redis连接。它只允许我在其中创建一个连接,对于其他连接,它会错误地失败 InvalidArgumentException : Redis connection [redis_db] not configured. at /vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php:116 我的database.php看起来像 'redis' => ['client'
InvalidArgumentException : Redis connection [redis_db] not configured.
at /vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php:116
我的database.php
看起来像
'redis' => ['client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'predis'),
'prefix' => Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_',
],
'psh' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 5),
],
'redis_db' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 3),
],
],
我在命令文件中创建的连接如下所示:
/**
* Create a new command instance.
*/
public function __construct()
{
parent::__construct();
$this->redis = Redis::connection('psh');
$this->redisAbTest = Redis::connection('redis_db');
}
我已经在我的.env
文件中添加了Redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Redis是
“predis/predis”:“^1.1”
和laravel是5.8.17
您需要多个Redis连接,您需要为每个连接打开一个新的服务提供商,并将服务提供商添加到配置/app.php
。然后你可以用like
Redis::connection('psh');
当您需要另一个连接时,请打开另一个服务提供商,用其他连接名称替换psh
'providers' => [
// other providers
App\Providers\RedisPshProvider::class,
];
'providers' => [
// other providers
App\Providers\RedisPshProvider::class,
];