Getting Started with Redis on Lumen
PHP:7.2
Lumen:6.3
由於 Lumen 是比較微型的框架,如果想要使用 Redis
等服務,無法像 Laravel
那樣方便,必須再自行針對設定進行修改。
Step 1. Require Library
Laravel
有提供操作 Redis
的套件,因此直接引入 illuminate/redis
就可以了。
; 需要跟 Lumen 同樣的大版號
composer require illuminate/redis "6.*"
; 如果 redis client 要使用 predis 的話,要記得再 require predis
composer require predis/predis
Notice: 在
Lumen 6.*
以後,預設的 redis client 都被改成phpredis
,因此 PHP 環境都必須安裝 redis 相關的 extension。
Step 2. Modify Bootstrap
接著針對 bootstrap/app.php
進行內容修改。
// 因為會使用到 Facade,需要拿掉 withFacades 的註解
$app->withFacades();
// 讀取 redis 設定檔路徑(config/database.php)
$app->configure('database');
// 註冊 RedisServiceProvider
$app->register(Illuminate\Redis\RedisServiceProvider::class);
Step 3. Setup Redis Config
接著要設定一下 config/database.php
中的 redis 設定。
return [
'redis' => [
'client' => 'predis', // 如果要使用 predis,可以從此處設定
'cluster' => false,
'default' => [
'host' => $redisConfig['master']['host'],
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
]
];
Step 4. Use Redis
use Illuminate\Support\Facades\Redis;
Redis::set('key', 'value');
$value = Redis::get('key');