简单的流程如下:

1, 添加队列信息

2, 队列信息储存在redis里面,我设置的是 10库为队列动作信息,9库为队列详细的信息

3, 服务端守护进程不断接收队列,再处理队列,目前代码的逻辑是,先循环接收10库的队列动作信息,再分段多进程处理9库的队列详细信息

代码调用范例:

1, 添加队列(比如添加发送邮件):

$q->add_queue('send_mail', $i, ‘hello world');

2, 服务端处理队列逻辑,先读取队列动作信息,再多进程处理,目前的版本是不能同时处理多个队列动作信息,只能多进程处理完一条队列动作信息里面的每条队列信息之后,再处理另外一条队列动作信息。(服务端的版本有单进程,多进程两个版本)

感谢Signfork.class类的作者,这里用了这个多进程的类

github地址: https://github.com/r00tjimmy/queue-php-redis

来源:http://blog.csdn.net/lqy5589731/article/details/51098133

PHP用redis实现多进程队列相关推荐

  1. Redis做消息队列,香吗?

    来自:架构师修行之路 菜菜哥,我刚做完了一个订单系统,感觉很简单呀 说说看,大量的订单状态怎么处理的? 我设计的时候可是考虑了这一点,所以用了异步处理,采用了MQ 那用的什么MQ呢,透露一下呗 我用的 ...

  2. redis php异步队列,基于workerman的redis-queue实现异步邮件队列

    实验场景:页面被客户访问发送邮件通知到我的邮箱,该场景只是为了测试,下单发送邮件或者短信的场景都是一样的,为了体现出来队列的优越性,我自己封装了个邮件发送的接口,接口内部实现增加了sleep(5),纯 ...

  3. aliyun redis 链接超时_用redis做异步队列,原来还可以这样

    Redis设计主要是用来做缓存的,但是由于它自身的某种特性使得它可以用来做消息队列. 它有几个阻塞式的API可以使用,正是这些阻塞式的API让其有能力做消息队列: 另外,做消息队列的其他特性例如FIF ...

  4. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...

    springboot+redis实现发布订阅功能,实现redis的消息队列的功能 参考:https://www.cnblogs.com/cx987514451/p/9529611.html 思考一个问 ...

  5. PHP + Redis 实现消息队列

    Redis做消息队列的好处在于它的轻量级,高并发,延迟敏感,应用场景有 即时数据分析.秒杀计数器.缓存等 Redis做消息队列待解决的问题: 1.消息的可靠性: 没有相应的机制保证消息的消费,当消费者 ...

  6. ​redis实现消息队列

    redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操作. ...

  7. 如何用 Redis 实现延迟队列?

    如何用 Redis 实现延迟队列? - 前言 - 我们都知道Redis是一种基于内存的单进程单线程数据库(Redis6.0开始之后支持多线程啦! ),处理速度都非常快. 那么为何Redis又能慢呢? ...

  8. 用redis实现消息队列(实时消费+ack机制)【转】

    用redis实现消息队列(实时消费+ack机制) java queue 消息队列 redis 消息队列 首先做简单的引入. MQ主要是用来: 解耦应用. 异步化消息 流量削峰填谷 目前使用的较多的有A ...

  9. php redis zset 延迟队列_PHP + Redis 实现简单消息队列

    Redis做消息队列的好处在于它的轻量级,高并发,延迟敏感. 应用场景有即时数据分析.秒杀计数器.缓存等. Redis做消息队列待解决的问题: 1.消息的可靠性: 没有相应的机制保证消息的消费,当消费 ...

最新文章

  1. 30~60k | 小鹏汽车3D视觉感知工程师/专家招聘(社招)
  2. Shell与ShellScript
  3. yunyang tensorflow-yolov3 启动evaluate.py报错:Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED原因
  4. 探秘!在阿里云做产品经理是怎样的体验?
  5. ISAKMP:(1006):deleting node 1202729771 error TRUE reason Delete Larval
  6. .NET Micro Framework 用户程序升级说明
  7. css小技巧: select的css控制
  8. vcenter server 许可证_朝阳互联网信息服务许可证ICP内资新办时间找杜经理
  9. 关于C++中的 多态 问题
  10. 银联支付h5返回商户的地址是post的吗?_php实现银联商务公众号+服务窗支付
  11. 程序员菜鸟到高手的11个阶段,你处于哪个阶段?
  12. Pr常见问题,如何找回不小心删除的视频音频
  13. 使用 Python SimpleHTTPServer 快速共享文件
  14. 翻译Programming WCF Services第二版
  15. VBA EXCEL 常用代码
  16. H264的RBSP类型之AUD
  17. 用envi对遥感影像进行规则裁剪
  18. P2495 [SDOI2011]消耗战(虚树+DP)
  19. loadrunner Lr_类函数之 lr_rendezvous()
  20. Flink - Watermark

热门文章

  1. yarn timeline1,timeline2官网解释
  2. MyBatis 批量更新,批量更新
  3. MySQL MMM多主多从搭建
  4. 07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao
  5. Kettle使用_15 文件操作复制文件到结果
  6. 中如何使用echart_jQueryEasyUI中的拖拽事件如何使用
  7. Linux下开启/关闭MySql Server命令
  8. 网管的一天——按小时记录生活
  9. 一个asp.net2005的页面文件调用CSS样式的BUG
  10. python中运行错误: 'utf-8' codec can't decode byte 0xc8'