php+redis实现消息队列功能示例

 更新时间:2019年09月19日 08:37:11   作者:巴八灵   我要评论
这篇文章主要介绍了php+redis实现消息队列功能,结合实例形式分析了php+redis创建与使用消息队列的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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类型出队操作
$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 -1

1) "e"

2) "l"

3) "l"

4) "o"

5) "w"

6) "o"

7) "r"

8) "l"

9) "d"

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP使用new StdClass()创建空对象的方法分析

    PHP使用new StdClass()创建空对象的方法分析

    这篇文章主要介绍了PHP使用new StdClass()创建空对象的方法,结合具体实例形式分析了php空对象的创建与使用方法,需要的朋友可以参考下
    2017-06-06
  • php从给定url获取文件扩展名的方法

    php从给定url获取文件扩展名的方法

    这篇文章主要介绍了php从给定url获取文件扩展名的方法,涉及php操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php+js实现百度地图多点标注的方法

    php+js实现百度地图多点标注的方法

    这篇文章主要介绍了php+js实现百度地图多点标注的方法,涉及php结合js针对百度地图接口调用与json操作相关技巧,需要的朋友可以参考下
    2016-11-11
  • 深入解析PHP中foreach语句控制数组循环的用法

    深入解析PHP中foreach语句控制数组循环的用法

    这篇文章主要介绍了深入解析PHP中foreach语句控制数组循环的用法,是PHP入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • 浅谈php安全性需要注意的几点事项

    浅谈php安全性需要注意的几点事项

    这段时间一直在写一个整站,前几天才基本完成了,所以抽个时间写了一篇对于php安全的总结。技术含量不高,过不了也没关系,希望能一些准备写网站的朋友一点引导。
    2014-07-07
  • PHP单例模式定义与使用实例详解

    PHP单例模式定义与使用实例详解

    这篇文章主要介绍了PHP单例模式定义与使用,结合具体数据库操作类的形式较为详细的分析了php单例模式的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下
    2017-02-02
  • PHP实现的线索二叉树及二叉树遍历方法详解

    PHP实现的线索二叉树及二叉树遍历方法详解

    这篇文章主要介绍了PHP实现的线索二叉树及二叉树遍历方法,结合实例形式较为详细的分析了线索二叉树的定义,创建,判断与遍历等技巧,需要的朋友可以参考下
    2016-04-04
  • php中使用base HTTP验证的方法

    php中使用base HTTP验证的方法

    这篇文章主要介绍了php中使用base HTTP验证的方法,涉及预定义服务器变量$_SERVER及header方法的相关使用技巧,需要的朋友可以参考下
    2015-04-04
  • PHP单例模式数据库连接类与页面静态化实现方法

    PHP单例模式数据库连接类与页面静态化实现方法

    这篇文章主要介绍了PHP单例模式数据库连接类与页面静态化实现方法,涉及php面向对象单例模式数据库连接类的定义与使用方法,以及缓存实现页面静态化相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • PHP常见的几种攻击方式实例小结

    PHP常见的几种攻击方式实例小结

    这篇文章主要介绍了PHP常见的几种攻击方式,结合实例形式总结分析了php SQL注入、XSS攻击、文件包含漏洞等php常见攻击方式,需要的朋友可以参考下
    2019-04-04

最新评论