Laravel 5.2应用程序 - 自动同步两个MySQL数据库

3

我使用laravel创建了Web应用程序,现在需要为用户添加功能:当没有网络连接时,数据必须存储在他们的本地数据库中,当系统重新联网时,数据应与实时服务器同步。如果我们只有一个客户端和一个服务器,则可以使用主从部署,但在我的情况下有多个本地客户端。

1个回答

2

与其使用两个数据库,你可以稍微调整前端代码,以整洁的JSON格式将数据保存在HTML5的localStorage中,这样当用户重新连接时,你可以使用AJAX推送localStorage项目,并通过迭代JSON对象数组来存储它们到空模型对象中并分别保存它们。

至于旧数据,你也可以将它们的ID存储在localStorage中,这样你就可以使用$some_model->update()轻松更新它们。


我明白您的观点。如果只涉及到1张表格的数据,那么这个问题可能会得到解决。但在我的情况下,用户可以添加/更新或处理整个应用程序。这意味着将修改不止1张表格。因此,需要使用两个数据库。 - mit
你的意思是即使没有网络连接,用户仍然可以浏览页面吗?如果是这样,那么其他客户端获取和更改数据所导致的数据一致性问题会给你带来麻烦,不是吗? - Gokigooooks
是的,让我给你一个清晰的想法。一旦系统安装在本地系统上,有一个本地数据库和一个数据库在实时服务器上。当用户没有互联网连接时,他所做的任何更改都应存储在本地数据库中。当他获得连接时,所有更改将与实时数据库同步。 - mit
如你所说,这就是“由于其他客户端获取和更改数据导致的数据一致性”所导致的主要问题。 - mit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接