将列表与数据库同步的最佳方法

时间:2017-10-14 17:07:35

标签: java mysql

我有一个列表,我需要与MySQL数据库同步。这是一个示例程序:

我有一张包含元数据的表格:

+-------+
| value |
+-------+
| test  |
| val   |
| smtn  |
| foo   |
+-------+

当我的应用程序启动时,这些值全部从数据库加载并添加到List。然后在我的应用程序的某个时刻,在本地列表中添加一个新值(不更新数据库)。在某些其他点上,从列表中删除随机值(也在本地)。

一段时间后,应用程序关闭并尝试将列表与数据库同步。此时列表可能如下所示:["test", "smtn", "added", "also_added"]。如您所见,删除了一些值(与初始表值相比),并添加了一些值。没有任何值发生变化。只有添加和删除。

现在,要将列表与数据库同步,我可以删除所有行并将更新的列表插入数据库,但这似乎效率低下。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我知道有两种方法是pushpull

对于push,您将拥有一个数据库触发器,用于何时更新表,并且您可以将更改或所有数据推送到您的应用公开的某个终点。

对于pull,您可以在某个时间间隔或行动中查询数据库以获取任何更新。

两者都有优点和缺点。