Javascript 了解数据库表是否已更新的最有效方法

Javascript 了解数据库表是否已更新的最有效方法,javascript,jquery,mysql,database,Javascript,Jquery,Mysql,Database,我想知道什么是最有效的方法来知道数据库表是否已更新?我使用Codeigniter作为框架。 到目前为止,我考虑的方法是使用计时器,每隔15-20秒向后端发出一个ajax post请求。然而,如果一个页面处于空闲状态,这难道不会降低网站的速度吗? 有没有其他方法可以做到这一点,或者这是唯一的方法。有几种方法可以做到这一点 是的,您可以定期轮询以检查数据库中的任何更新日期,但其他几种解决方案旨在提供更一致、推送驱动、反应式的更新检测 对于Javascript,我可以想到MeteorJS: Mongo

我想知道什么是最有效的方法来知道数据库表是否已更新?我使用Codeigniter作为框架。 到目前为止,我考虑的方法是使用计时器,每隔15-20秒向后端发出一个ajax post请求。然而,如果一个页面处于空闲状态,这难道不会降低网站的速度吗?
有没有其他方法可以做到这一点,或者这是唯一的方法。

有几种方法可以做到这一点

是的,您可以定期轮询以检查数据库中的任何更新日期,但其他几种解决方案旨在提供更一致、推送驱动、反应式的更新检测

对于Javascript,我可以想到MeteorJS:

MongoDB提供了oplog跟踪功能,以实时监控数据库操作:但这需要分片集群

其他一些数据库引擎可能会提供一些特性,以便在表、行或文档上保持更新。例如,看看RejectDB(实时web):

处理更新的另一种方法是使用消息传递(例如nodejs/websockets或RabbitMQ、Kafka…),这样您就可以将连接的后端服务执行的任何更新通知客户端

实际上,理想的数据库更新检测有点难以实现,需要技术选择


您必须决定是否要牺牲性能而不是复杂性。如果您希望许多用户对许多事情进行大量轮询,您可能希望围绕一个更一致的体系结构来组织您的项目。

术语不清楚,
在现实(实时)/资源(例如cpu/带宽)方面是高效的
?如果您只需要每隔15-20秒一次。。。post请求应该足够好了…对不起,对于最终用户来说,在资源方面是非常有效的。如果站点不断提出请求,页面最终会慢下来吗?每15-20秒的请求不是关键的,如果你正在使用PHP,你也可以考虑使用长轮询,而不是ping请求。我发现Innodb有一个函数,可以检查最近是否修改了表。如果可以,我会使用另一个框架。也许是下一个版本。我想目前持续的投票是唯一的办法。