Heim >Backend-Entwicklung >PHP-Tutorial >PHP怎么实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android

PHP怎么实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android

WBOY
WBOYOriginal
2016-06-13 12:20:471523Durchsuche

PHP如何实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android?
PHP实施监听数据库,数据库一单有更新,就将数据发送给PHP(听说ajax可以实现,不希望用网页实时刷新的办法,效率太低,也耗流量),当PHP取得更新的数据库后,PHP立刻将更新的数据推送给Android客户端?

附加问题,数据库需不需要写触发器,如歌可以的话,希望能有源码。
------解决思路----------------------
~~百度云推送 
------解决思路----------------------
用定时任务跑脚本吧。
------解决思路----------------------
那段话是在忽悠人,连他自己都不会相信。只是美好的愿望而已

首先,ajax 连接是由客户端发起的,即便能得到数据也不是“推送”
其次,发起新的Ajax请求发起下个Ajax请求 这就明确的表示连接是由一次次的短连接组成的,并不存在所谓的长连接
再者,用户没有操作,则连接处于睡眠状态 既如此,如果用户一直没有操作,那不就得不到更新的内容了吗?

如果你是用的是 sql server 数据库,那么可以通过触发器调用存储过程。而 SQL server 的存储过程是可以执行系统命令的,于是你就可以通过发短信之类的形式通知用户数据已更新了
------解决思路----------------------
长链接的方式是可以应该是可以达到这种效果的,可以参考微信网页版的二维码登录;

具体实现原理,按照我的理解应该是这样的:
客户端发起一个ajax请求,服务端查询数据库是否有新的数据,有则返回结果,没有则sleep 几秒再次查询,重试一定次数后不论是否成功都返回结果,客户端继续发起新的请求,重复前面的过程;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn