描述
网上关于laravel的教程很多,但是对于它延伸出的框架Lumen的教程却是少之又少,虽然大多数laravel的教程都可以直接用于Lumen,但是很多在实现的时候还是会有误差,例如本教程即将讲解的Lumen连接Redis。
开始
php安装Redis拓展
很多教程在讲这个问题的时候都没有说到这一步,所以会导致找不到Redis等各种错误,所以这里特地说明一下,务必要安装这个拓展,这是php的拓展,是服务器层面解决的,不是代码上使用composer安装Redis操作库。
安装
如果你是宝塔,你可以直接在php对应版本上找到,如下:


安装即可。
如果你使用的不是宝塔,而是其他方式,可以自行百度,关键词:php安装Redis拓展。
注意:选择你Lumen所在的php版本。
安装Redis操作库
接下来,就到了其他教程中所讲的安装php Redis操作库了,一共要安装两个,如下:
composer require illuminate/redis
composer require predis/predis
Lumen处理
注释bootstrap/app.php下的代码:

注册服务:bootstrap/app.php
$app->register(IlluminateRedisRedisServiceProvider::class);

配置Redis数据库:config/database.php或者.env
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'lumen'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => '连接地址',
'password' => 'REDIS密码',
'port' => '6379',
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => '地址',
'password' =>'REDIS密码',
'port' => '6379',
'database' => env('REDIS_CACHE_DB', '1'),
],
]
注意:版本不一致,配置文件不一样,我的是Lumen8.x
代码中使用
一个简单的例子如下:
<?php
namespace AppHttpControllers;
use use IlluminateSupportFacadesRedis;
use IlluminateHttpRequest;
use IlluminateHttpJsonResponse;
class CalculateIncomeController extends Controller{
public function testRedis(){
Redis::get('key');
Redis::set('key','val');
}
}