>백엔드 개발 >PHP 튜토리얼 >PHP怎么实施监控数据库的更新,一旦有更新,就把更新的数据推送给Android

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

WBOY
WBOY원래의
2016-06-13 12:20:471528검색

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

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.