我有一个列表,我需要与MySQL数据库同步。这是一个示例程序:
我有一张包含元数据的表格:
+-------+
| value |
+-------+
| test |
| val |
| smtn |
| foo |
+-------+
当我的应用程序启动时,这些值全部从数据库加载并添加到List
。然后在我的应用程序的某个时刻,在本地列表中添加一个新值(不更新数据库)。在某些其他点上,从列表中删除随机值(也在本地)。
一段时间后,应用程序关闭并尝试将列表与数据库同步。此时列表可能如下所示:["test", "smtn", "added", "also_added"]
。如您所见,删除了一些值(与初始表值相比),并添加了一些值。没有任何值发生变化。只有添加和删除。
现在,要将列表与数据库同步,我可以删除所有行并将更新的列表插入数据库,但这似乎效率低下。
有更好的方法吗?
答案 0 :(得分:0)
我知道有两种方法是push
和pull
。
对于push
,您将拥有一个数据库触发器,用于何时更新表,并且您可以将更改或所有数据推送到您的应用公开的某个终点。
对于pull
,您可以在某个时间间隔或行动中查询数据库以获取任何更新。
两者都有优点和缺点。