付费课程, 订阅后即可观看

使用 Redis 作为驱动实现队列功能

Redis 驱动过去一直都不叫尴尬,虽然它的运行速度要远超 database 的驱动队列,配置也比 sqs,beanstalkd 简单,但是因为运行的时候观察队列的执行状况比较麻烦,所以大家都不使用它,直到后来 Laravel 推出了 Horizon 队列监控系统,Redis队列才迎来了它黄金发展时期,成为最受欢迎的队列驱动。

YszeJ 2019.05.13 08:27

输入brew install redis命令的时候说‘brew’不是内部或外部命令。。。

输出redis-cli 也是一样

国营 2019.05.13 08:32

这个是macos底下的命令,这个要根据操作系统的不同来采取不同的命令和方式,你根据自己的环境搜索一下即可

YszeJ 2019.05.13 08:33

谢谢

国营 2019.05.13 08:47

现在大部分新手都是使用现成的开发环境,不管是homestead还是laradock,这类环境很方便,刚开始学laravel的时候可以用,但是环境出了问题很多人不知道怎么办了,到一定阶段一定要去折腾折腾这些东西,深入了解一下。

root_shell 2019.10.22 18:59

环境:laravel6.3 php7.3.5 artisan serve Redis3.0

问题:关于QUEUE_CONNECTION=redis,当work执行失败后,失败的任务数据存储到哪里了(或者说在Retry时,数据是从哪里来的)?

1.入队: Redis 生成了两个KEY: laravel_database_queues:emails (llen 非0) laravel_database_queues:emails:notify (llen 非0)

2.执行任务失败: 两个KEY的长度均变为0,且当前Redis 也只有这两个KEY

3. 执行 retry all ,任务恢复到了以上两个KEY。

问题已解决 失败的队列会保存在 Mysql的failed_jobs 表中

国营 2019.10.23 02:28

队列失败的那张表格一定要创建的,失败的任务会放到数据库中的 failed_jobs 表格中,好像是这个表名来着

root_shell 2019.10.23 04:11

您好,感谢您,您的建议是对的。

虽然是Reids,但是失败的任务还是会存储在 Mysql 数据库的 failed_jobs 表中

国营 2019.10.23 02:34

睡眠保证好啊,老这么熬夜身体扛得住,精神专注度也保障不了啊

root_shell 2019.10.23 04:15

谢谢您,我会注意的 。

heibai 2019.12.24 13:36

我有点疑惑,环境安装了php的redis扩展,还需要在安装laravel的redis包,这岂不是有2个redis了吗,这个不会冲突吗,使用的时候会使用哪个的redis呢

邶城以北(叶兴勇) 2022.01.10 05:06

博主,项目运行时如何执行队列中的任务呢?还是必须在终端启动horizon吗?

微信扫码登录