【问题标题】:How to sync Map <-> MySQL in Java?如何在 Java 中同步 Map <-> MySQL?
【发布时间】:2013-11-01 19:49:58
【问题描述】:

我有一个 HashMap 和一个 MySQL 数据库。
每当我的程序启动时,它都会从数据库中读取所有内容并将其保存到 HashMap。
现在,当我关闭程序或每 X 秒/分钟时,我需要将所有内容保存回数据库中。

我遇到了几个问题:
- 如果我只执行 SQL INSERT,则不是 1:1。我是否必须比较所有内容(可能需要太多时间)?
- 在保存 HashMap 之前删除数据库中的所有内容也很糟糕。

【问题讨论】:

  • 当你读入 hashmap 时,包含一个变量,表明给定的项目已被加载。那么当你来保存的时候,只保存没有设置变量的项目,这可能是数据库中的id值。

标签: java mysql hashmap sync


【解决方案1】:

我的个人意见是执行保存或更新。

为每个地图项维护一个脏标志。在读取地图时设置它的值,如果它需要任何更新或插入并仅对该项目执行保存和更新。

对于每个地图项,首先检查它的脏标志并相应地执行保存或更新操作。

【讨论】:

  • 谢谢。现在使用脏标志。
猜你喜欢
  • 1970-01-01
  • 2018-09-18
  • 2011-08-18
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-02
相关资源
最近更新 更多