- 1. 概要
- 2. redis 設定
- 3. Laravel 設定
1. 概要
以下、「redis」をキャッシュではなく、「Laravel」から「Python」へのキューとして使用し、「redis」の設定として、「Redis Stream」を使用する設定です。
ここでは、「Ubuntu 22.04」に設定します。
2. redis 設定
sudo vi /etc/redis/redis.conf
(2025年12月12日の時点で、デフォルトで、1880行ありました)
# bind 127.0.0.1 ::1
バインドを設定します。
安全のため、ローカルのみ有効とします。
(外部からアクセスさせる必要があれば、ファイアウォールとパスワード設定が必須)
bind 127.0.0.1 ::1
supervised no
再起動時の安定性を向上させるために、下記のように変更します。
supervised systemd
# maxmemory-policy noeviction
メモリ管理します。
maxmemory-policy noeviction
appendonly no
永続化を有効化します。
appendonly yes
設定を変更したら、再起動します。
sudo systemctl restart redis
「redis」に「Consumer Group」を作成します(これは、まだよくわかっていない 2025年12月16日)。
redis-cli
で、プロンプトが返ってきたら。
XGROUP CREATE mqtt_pub mqtt_workers $ MKSTREAM
「OK」が返ってくれば、成功です。
3. Laravel 設定
プロジェクトの所有者権限で、プロジェクトルートへ移動して。
vi .env
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
の後ろへ、下記を追加します。
REDIS_CLIENT=phpredis
vi config/database.php
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
を下記へ変更します。
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
/*
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
*/
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
|