好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

PHP信息队列教程 php常用的消息队列

很多站长朋友们都不太清楚PHP信息队列教程,今天小编就来给大家整理PHP信息队列教程,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP SplQueue 队列用法 2、 PHP+MYSQL 实现队列 进行发送短信怎么做 3、 PHP-php 怎么实现消息队列 PHP SplQueue 队列用法

在PHP中,我们可以用array来简单模拟队列的功能,array_push出列,array_pop入列,但是更高效的用法还是要使用SplQueue这个官方提供的队列类来做,记录一下简单的用法。

我们注意到,SplQueue中还有push和pop方法,它们与enqueue和dequeue有什么区别呢?

push和enqueue没有区别,但是pop等同于栈的pop(FILO),每次弹出最后压入队列的元素。

而队列是先进先出(FIFO)的,所以每次弹出的都是剩下的节点中先入列节点

以上是PHP队列的简单用法,下面是一些迭代器指针相关的操作

PHP+MYSQL 实现队列 进行发送短信怎么做

最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发送不就可以了吗?

但很快发现问题:当短信数量很大时,不仅耗时,而且成功率很低。

于是想到,用PHP和MySQL实现一个消息队列,一条一条的发送短信。下面介绍具体的实现方法:

首先,建立一个数据表sms,包含以下字段:

id,

phone, //手机号

content //短信内容

将需要发送的短信和手机号存入sms表中。

接下来,需要用PHP实现一个定时器,定时读取一条记录,并发送短信:

<?php

$db = new Db();

$sms = new Sms();

while(true){

$item = $db->getFirstRecord(); //获取数据表第一条记录

if(!$item){

//如果队列中没有数据,则结束定时器

break;

}

$res = $sms->send($item['phone'],$item['content']); //发送短信

if($res){

$db->deleteFristRecord(); //删除发送成功的记录

echo $item['phone'].'发送成功';

}else{

echo $item['phone'].'发送失败,稍后继续尝试';

}

sleep(10); //每隔十秒循环一次

}

echo '发送完毕!';

?>

将代码保存为timer_sms.php,打开命令行,执行定时器:

php timer_sms.php

好了,php定时器将会根据设定的时间间隔(这里设的是10秒),自动完成发送短信的任务。任务完成后将自动退出定时器,不再占用服务器资源。

根据我的测试,PHP定时器占用资源并不多,不会对服务器造成压力。而且是异步访问数据库,也不会影响数据库的运行。

这种方式的优点是:

1、后台运行,前台无需等待

2、成功率高,失败的记录会自动重发,直到成功

PHP-php 怎么实现消息队列

一个笨方法:

1、把需要发的消息存到数据库;

2、写一个crontab,定期从数据库取数据,然后处理~

关于PHP信息队列教程的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于PHP信息队列教程 php常用的消息队列的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did166797
更新时间:2023-03-09   阅读:78次

上一篇: 单例模式php事例 单例模式php事例解析

下一篇:php实战开发视频 PHP项目实战

相关资讯

最新资料更新

  • 1.详解织梦调用当前顶级栏目名称、ID、url方法
  • 2.dede给dede_sys_enum添加字段father示例
  • 3.如何让dedecms变成全站动态浏览有利于企业站
  • 4.详解织梦搜索时因关键词标红而导致页面样式错乱的解决方法
  • 5.dede会员列表调用适用于企业、个人
  • 6.dedecms增加文章自定义属性的方法介绍
  • 7.织梦dedecms中自定义表单必填项的设置方法
  • 8.dedecms专题模板应用分析及解决方案
  • 9.dede的sql语句调用方法使用示例
  • 10.dede搜索关键字/tag标签不能区分大写字母的临时解决方法
  • 11.重新安装织梦系统以及转移空间、上传空间的方法
  • 12.DEDE登陆后台很慢的原因分析与解决方法
  • 13.dede:arclist 标签排序具体实现
  • 14.dedecms 获取描述信息限制字数的语法
  • 15.dede:tag 文章页调用全站最新tag方法
  • 16.DedeCMS投票模块漏洞解决方法
  • 17.dedecms 5.7 实现点击图片到下一页
  • 18.织梦Dedecms设置伪静态详细方法
  • 19.给Dedecms文章列表分页标题加上序号的方法示例
  • 20.织梦DEDECMS dede:arclist,dede:list获取附加表字段内容的方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]