setInterval(function(){
// ajax request here
}, 9000);
我使用这样的脚本来检查数据库中的新通知并将它们显示在页面上,这样的事实是,对于每个用户,每隔几秒钟或每分钟执行一次检查,我想知道这是否会导致任何问题。表现问题。
向数据库发出如此多的请求是否可以,或者我应该以其他方式检查新通知?
答案 0 :(得分:3)
您需要考虑两件事:
第一个,只有你能回答。
第二个主要取决于服务器必须为每个请求做多少工作,有多少并发用户,以及服务器硬件和网络连接有多好。
您当前的方法面临的最大风险是,如果服务器无法频繁响应,那么您将在飞行中同时发出请求。如果存在真正的性能问题,一旦达到最大同时HTTP请求限制,您最终可能会有一个等待从浏览器中出来的请求队列。
您可以将setTimeout
放入请求的成功和错误处理程序,而不是每9秒发送一次,以降低此风险。
另一种方法是让服务器在通知可用时启动数据发送。您可以使用WebSockets执行此操作。
答案 1 :(得分:-1)
首先,您需要创建ajax函数并根据需要调用修复时间间隔
比如使用javascript函数Expire Web Content
。
setInterval