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');
Categories: Lumen