MYSQL和PHP更新事件?
我目前有一个应用程序,每5秒检查一次数据库更新。虽然这是为<500个用户做的工作,但继续下去似乎不太实际MYSQL和PHP更新事件?,php,mysql,database,Php,Mysql,Database,我目前有一个应用程序,每5秒检查一次数据库更新。虽然这是为
当数据库中的一行发生更改时,是否有任何方法可以激活php?我知道有一些服务可以使用,但它们很昂贵或不实用,我现在无法集成 有没有办法在MYSQL中使用触发器来实现这一点,或者说,如果每5秒有10000个用户在哪里查询数据库,我就什么都不用担心了
感谢您的时间当数据库中的某一行发生更改时,是否有任何方法可以生成php? 否。PHP文件执行一次,输出被转储 要实现这种功能,可以使用PHP,并让ajax请求以预定义的间隔或按需使用按钮控件为用户更新浏览器 如果要将更新从数据库推送到web客户端,可以查看使用哪个连接到套接字服务器并允许推送事件。如果要考虑可伸缩性,我还建议查看Node.JS,您将在当前硬件上获得一些额外的性能。扩展应用程序也更容易。注意 如果您担心每5秒调用一次MySQL服务器的成本。这将提高执行速度,而不会对脚本(或通知机制)进行太多更改,而且可能已经足够了
当数据库中的某一行发生更改时,是否有任何方法可以激活php 数据库 您似乎想触发MySQL发起的某种推送机制。开箱即用,如果没有某种插件或中间件,这是不可能的 中间件 有两个可用的免费守护进程可以保持与MySQL服务器的持久连接,并在指定的时间间隔内共享数据库。这模拟了推送机制。 您也可以自己创建一个。但是您可以使用PHP来实现相同的结果 这可能是解决此问题的最佳方法,尽管不是真正的推送通知系统 插件 也可以在MySQL中启动通知
可以通过池(正如您现在所做的)或推送通知(使用WebSocket)来通知客户机。而且这取决于你到底想触发什么,但对我来说,5秒钟的民意调查听起来很合理。即时足够,而不会成为服务器上的锤子。如果您在
requestAnimationFrame
调用中包装轮询,则会获得额外的积分,因为只有在浏览器选项卡可见时,轮询才会重新加载-我的用户对延迟到选项卡再次聚焦的更新做出了肯定的评论,用户位置每5秒插入数据库,web应用程序每5秒选择一次位置数据,我猜每个用户每5秒有2个请求。支持某项功能并不意味着建议这样做。我可以用PHP编写一个操作系统,这不是一个好主意。非常感谢您的时间,这正是我想要的-我将探索我的应用程序的最佳选择。再次感谢。