把瞬间服务器的请求处理换成异步处理,缓解服务器的压力,实现数据顺序排列获取。本文主要和大家分享php和redis如何实现消息队列,希望能帮助到大家。

redis实现消息队列步骤如下:

1).redis函数rpush,lpop

2).建议定时任务入队列

3)创建定时任务出队列

文件:demo.php插入数据到redis队列

<?php

$redis = new Redis();

$redis->connect('127.0.0.1',);

$password = '';

$redis->auth($password);

$arr = array('h','e','l','l','o','w','o','r','l','d');

foreach($arr as $k=>$v){

  $redis->rpush("mylist",$v);

}

文件:index.php定时扫描出队列

<?php

$redis = new Redis();

$redis->connect('127.0.0.1',);

$password = '';

$redis->auth($password);

//list类型出队操作

$value = $redis->lpop('mylist');

if($value){

 echo "出队的值".$value;

}else{

  echo "出队完成";

}

?>

  

建立定时任务

*/ * * * * root php /wwwroot/workplace/redis/index.php

 */ * * * * root php /wwwroot/workplace/redis/demo.php

tail -f /var/log/cron  查看定时任务执行情况

Nov   :: dongzi CROND[]: (root) CMD (php /wwwroot/workplace/redis/demo.php)

Nov   :: dongzi CROND[]: (root) CMD (php /wwwroot/workplace/redis/index.php )

定时任务执行队列写入结果如下

127.0.0.1:> lrange mylist  -

 ) "h"

 ) "e"

 ) "l"

 ) "l"

 ) "o"

 ) "w"

 ) "o"

 ) "r"

 ) "l"

) "d"

定时任务执行出队列后:

127.0.0.1:6379> lrange mylist 0 -11) "e"2) "l"3) "l"4) "o"5) "w"6) "o"7) "r"8) "l"9) "d"

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处

最新文章

  1. C++生成二级制文件过程(预处理-&gt;编译-&gt;链接 )
  2. 特殊集合 Stack Queue Hashtable
  3. uva 10340 All in All
  4. eval()与jQuery.parseJSON()的差别以及常见的解析缺少分号的问题
  5. 一份C++线程池的代码,非常实用
  6. [转]IIS部署托管管道模式的集成和经典区别
  7. PHP ServerPush
  8. 【原创】Kmeans算法 优缺点分析
  9. 使用MiniProfiler调试Asp.net Mvc性能
  10. OC基础 NSData
  11. 【干货】.NET开发通用组件发布(一) 介绍
  12. html标签全称和功能介绍
  13. 自己动手编译octave 4.0.0
  14. MapReduce编程之Reduce Join多种应用场景与使用
  15. Oracle三层嵌套分页查询示例及rownum原理
  16. 一个实时收集MySql变更记录的组件CanalSharp.AspNetCore
  17. 触发器SQL
  18. Coursera, Big Data 4, Machine Learning With Big Data (week 3/4/5)
  19. scala读取配置文件
  20. vijos &amp; codevs 能量项链 - 动态规划

热门文章

  1. GCC中 -I、-L、-l 选项的作用
  2. 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)
  3. 题解【洛谷P1352】没有上司的舞会
  4. 3 种比较 cmp
  5. EF CodeFirst配置领域类
  6. Illegal target for the requested operation
  7. UIgradients – 美丽的UI渐变色分享站 并可转成CSS代码
  8. 松软科技web教程:JavaScript HTML DOM 事件监听器
  9. MySQL排序查询
  10. wamp配置本地多站点。