首先安装并配置Redis扩展,然后在.env文件中将队列驱动设为redis,接着确认config/queue.php中的redis连接配置正确,之后创建任务类并通过dispatch分发,最后启动php artisan queue:work监听处理任务。

Laravel 使用 Redis 作为队列驱动非常常见,尤其适合高并发场景。配置过程简单,只需几个步骤即可让 Laravel 队列通过 Redis 高效运行。
1. 安装并配置 Redis 扩展
确保你的 PHP 环境已安装 Redis 扩展,Laravel 通过 predis/predis 或 phpredis 与 Redis 通信。推荐使用 Composer 安装 predis:
如果你使用 phpredis 扩展,需确保已在 php.ini 中启用 extension=redis。
2. 配置 .env 文件使用 Redis 队列驱动
打开项目根目录下的 .env 文件,修改队列驱动为 redis:
QUEUE_CONNECTION=redis同时确认 Redis 连接信息正确(默认使用 default 连接):
REDIS_HOST=127.0.0.1REDIS_PASSWORD=null
REDIS_PORT=6379
3. 修改 queue.php 配置文件
打开 config/queue.php,找到 redis 驱动配置项,通常如下:
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],
其中:
- connection:指 config/database.php 中 Redis 的连接名称
- queue:任务存入的 Redis 队列名,可自定义
- retry_after:任务执行超时时间(秒),超时后将重试
- block_for:阻塞等待新任务的时间,设为 null 表示持续阻塞
4. 创建队列任务并推送到 Redis
使用 Artisan 命令创建任务类:
php artisan make:job SendEmailJob在控制器或路由中分发任务:
use App\Jobs\SendEmailJob;dispatch(new SendEmailJob());
该任务会被序列化并写入 Redis 的指定队列中(如:queues:default)。
5. 启动队列监听器
运行以下命令启动消费者监听 Redis 队列:
php artisan queue:work --queue=default如需自动重启(开发环境推荐):
php artisan queue:listen生产环境建议配合 Supervisor 守护进程,防止中断。
基本上就这些。配置完成后,Laravel 会通过 Redis 高效处理异步任务,提升应用响应速度和稳定性。不复杂但容易忽略的是 retry_after 设置和 Redis 连接状态检查。











