首页 > 编程 > PHP > 正文

php和redis如何实现消息队列

2020-03-22 18:41:09
字体:
来源:转载
供稿:网友

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

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

1).redis函数rpush,lpop

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

3)创建定时任务出队列

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

<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $password = '123456'; $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',6379); $password = '123456'; $redis->auth($password); //list类型出队操作 $html' target='_blank'>value = $redis->lpop('mylist'); if($value){  echo "出队的值".$value; }else{   echo "出队完成"; } ?>  

建立定时任务

 */1 * * * * root php /wwwroot/workplace/redis/index.php */3 * * * * root php /wwwroot/workplace/redis/demo.php tail -f /var/log/cron  查看定时任务执行情况Nov  7 00:30:01 dongzi CROND[6888]: (root) CMD (php /wwwroot/workplace/redis/demo.php)Nov  7 00:30:01 dongzi CROND[6890]: (root) CMD (php /wwwroot/workplace/redis/index.php )

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

127.0.0.1:6379> lrange mylist 0 -1  1) "h"  2) "e"  3) "l"  4) "l"  5) "o"  6) "w"  7) "o"  8) "r"  9) "l" 10) "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"

相关推荐:

PHP如何使用redis消息队列发布微博

php实现消息队列类实例分享

PHP高级编程之消息队列

以上就是php和redis如何实现消息队列的详细内容,更多请关注 其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表