You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Laravel中配置Redis队列与Horizon是否需要数据库?

Laravel Redis队列+Horizon 无数据库配置答疑

失败任务存储:无需依赖数据库

当你将Laravel队列驱动设置为Redis时,失败任务默认会存储在Redis中,完全不需要配置MySQL等关系型数据库。你提到的默认创建failed_jobs表是数据库队列驱动的行为,Redis驱动下无需执行该迁移操作。

Horizon对失败任务的清理规则(当前版本)

当前版本的Horizon(适配Laravel 8及以上版本)不会自动定期清理失败任务,除非你手动在Horizon配置文件中设置了清理规则。默认状态下,失败任务会长期保留在Redis中,你可以直接在Horizon面板中查看、重试或删除这些任务。

RedisJobRepository的作用与持久化保障

你观察到的FailedJobsController依赖RedisJobRepository是正确的,这个实现类专门负责在Redis中管理失败任务。只要你正确配置Redis作为队列驱动并启用Horizon,失败任务会被可靠存储在Redis中,不会丢失,全程无需数据库支持。

关键配置要点

  • 在.env文件中设置QUEUE_CONNECTION=redis,并确保Redis连接信息配置正确
  • 安装Horizon后执行php artisan horizon:install发布配置文件,可在配置中自定义失败任务的保留规则(如保留时长、清理策略等)

内容的提问来源于stack exchange,提问作者ps-20x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:27:03