Login
网站首页 > 文章中心 > 其它

php和mysql实时发送通知的简单介绍

作者:小编 更新时间:2023-08-16 13:55:41 浏览量:499人看过

怎么让php实时读时MYSQl变动

Web式的系统为Php的.C#做的系统本身为C/S架构,用Timer控件是绝对不聪明的办法,我们只要在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定时器占用资源并不多,不会对服务器造成压力.而且是异步访问数据库,也不会影响数据库的运行.

这种方式的优点是:

①.、后台运行,前台无需等待

mysql数据库更新后 php能实时弹出消息提示mysql有更新

个人观点吧,

当需要插入数据库的时候,先判断消息给谁的,然后推送到谁就可以了~

利用ajax,一直不停的轮询,导致服务器压力大,优势就是简单

以上就是土嘎嘎小编为大家整理的php和mysql实时发送通知的简单介绍php和mysql实时发送通知的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章