在没有使用服务器集群的情况下,连接多个redis服务,可以传递服务器名到connection方法来获取指定Redis配置中定义的指定服务器。
$redis = Redis::connection('other');
配置方法
1、复制 vendor/laravel/lumen-framework/config/database.php 文件到 config/ 下,修改config/database.php文件redis配置,避免直接修改vendor下文件
'redis' => [
'cluster' => env('REDIS_CLUSTER', false),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DATABASE', 0),
'password' => env('REDIS_PASSWORD', null),
],
# 新增测试redis配置
'test_redis' => [
'host' => env('TEST_REDIS_HOST', '127.0.0.1'),
'port' => env('TEST_REDIS_PORT', 6379),
'database' => env('TEST_REDIS_DATABASE', 0),
'password' => env('TEST_REDIS_PASSWORD', null),
],
],
2、在.env文件中添加test_redis配置
TEST_REDIS_HOST=127.0.0.1
TEST_REDIS_PORT=6379
TEST_REDIS_DATABASE=0
TEST_REDIS_PASSWORD=null
3、在 bootstrap/app.php 中引入 config/database.php配置文件
$app->configure('database');
4、使用实例
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;
class RedisController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//
}
public function test(){
$key = 'key';
# 默认redis实例
Redis::hgetall($key);
# 获取指定配置的Redis服务器实例
$redis = Redis::connection('test_redis');
$redis->hMset($key, $data);
}
//
}