一、配置 myRedis 连接
1、安装 predis 扩展
composer require predis
2、添加 myRedis 配置
config/database.php
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
'myRedis' => [
'host' => env('MY_REDIS_HOST', '127.0.0.1'),
'password' => env('MY_REDIS_PASSWORD', null),
'port' => env('MY_REDIS_PORT', 6379),
'database' => env('MY_REDIS_DATABASE', 1),
],
]
二、封装 MyRedis 门面
1、新建 MyRedis 类
app\Tools\MyRedis.php
<?php
namespace App\Tools;
use Redis;
class MyRedis
{
public function connection($redis = 'myRedis')
{
return Redis::connection($redis);
}
}
2、新建 MyRedisFacade 类
app\Tools\MyRedisFacade.php
<?php
namespace App\Tools;
use Illuminate\Support\Facades\Facade;
class MyRedisFacade extends Facade
{
protected static function getFacadeAccessor()
{
return 'MyRedis';
}
}
3、绑定 MyRedis 类到服务容器
app/Providers/MyRedisServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Tools\MyRedis;
class MyRedisServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services. 启动所有应用服务
*
* @return void
*/
public function boot()
{
}
/**
* Register any application services. 注册所有应用服务
*
* @return void
*/
public function register()
{
$this->app->singleton('MyRedis', function ($app) {
return (new MyRedis)->connection();
});
}
}
4、修改配置文件
config/app.php
'providers' => [
App\Providers\MyRedisServiceProvider::class,
],
'aliases' => [
'MyRedis' => \App\Tools\MyRedisFacade::class,
],
三、测试
可以直接 MyRedis 使用门面访问 myRedis 连接。
<?php
namespace App\Http\Controllers\Redis;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use MyRedis; //引用门面
class RedisController extends Controller
{
public function test()
{
dump(MyRedis::set('testKey', 77));
dump(MyRedis::get('testKey'));
}
}