Laravel - mqtt・redis・python - 設定


 クラウディア


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'),
        ],

EaseUS
AbemaTV 無料体験
世界最大級のオンライン英会話EF English Live