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

时间:2017-07-12 01:03:18

标签: javascript jquery mysql database

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

1 个答案:

答案 0 :(得分:0)

有几种技巧可供选择。

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

对于Javascript,我可以想到MeteorJS:https://www.meteor.com/

MongoDB提供了oplog拖尾功能,可实时监控数据库操作:https://www.mongodb.com/blog/post/tailing-mongodb-oplog-sharded-clusters但这需要分片群集。

其他一些数据库引擎可能会提供保持表格,行或文档更新的功能。例如,看看RethinkDB(实时网络):https://www.rethinkdb.com

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

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

你必须决定是否要在复杂的祭坛上牺牲性能。如果您希望许多用户对许多事情进行大量轮询,您可能希望围绕更一致的架构组织项目。