Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL&;网页:表格中插入的通知_Php_Mysql_Sql_Ajax - Fatal编程技术网

Php MySQL&;网页:表格中插入的通知

Php MySQL&;网页:表格中插入的通知,php,mysql,sql,ajax,Php,Mysql,Sql,Ajax,我在服务器上有一个监控日志文件的应用程序,我还在客户端添加了一个视图(以网站的形式)。现在我想实现以下功能:每当添加新条目时,视图都应该尽快更新。 首先,我想到了两个切实可行的解决方案: 1) 调用一个AJAX函数,该函数每秒请求一个php页面,检查是否有更新,如果有,则显示更新。(缺点:大量HTTP开销,很多时候可能没有消息,大量SQL调用) 2) 调用一个AJAX函数,该函数每分钟请求一个不同的php页面,该函数还检查1分钟的更新,但仅在发现更新时返回,否则在1分钟后返回。(缺点:HTTP开

我在服务器上有一个监控日志文件的应用程序,我还在客户端添加了一个视图(以网站的形式)。现在我想实现以下功能:每当添加新条目时,视图都应该尽快更新。

首先,我想到了两个切实可行的解决方案:

1) 调用一个AJAX函数,该函数每秒请求一个php页面,检查是否有更新,如果有,则显示更新。(缺点:大量HTTP开销,很多时候可能没有消息,大量SQL调用)

2) 调用一个AJAX函数,该函数每分钟请求一个不同的php页面,该函数还检查1分钟的更新,但仅在发现更新时返回,否则在1分钟后返回。(缺点:HTTP开销较小,但与选项1相同,可能仍然有没有消息的时候,仍然有很多SQL调用)

哪一个更好,或者你会建议什么替代方案


我还想到了另一个解决方案,但我不确定如何实施它。也就是说,在MySQL数据库中特定表上的每一次
INSERT
上,网页都会直接收到通知,可能是通过推送连接,但我也不确定它们是如何工作的。

另一种方法是使用长轮询或web-sockets。使用cron作业可以这样做。脚本应该计算表中的行数。如果有增加,那么它应该尽快更新您的文件,然后选择1,否则选择2。其价格与性能相当。选择最适合您的方法我相信推送方法会比选项1更快,因为它也可以在500毫秒的时间间隔内响应,事实上它可以响应任何可能的时间间隔。但是,我在查找push方法的文档时遇到了麻烦。