【发布时间】:2017-06-10 23:52:49
【问题描述】:
我正在尝试设计一个内存键值存储,将字符串映射到可变长度的字符串。我还想让它能够在任何特定时刻拍摄其键值数据集的快照。此外,对键值存储的修改不应影响过去的快照。我目前正在为此使用 HashMap,对于快照,我维护时间戳到各个 HashMap 条目集的深层副本的映射(使用简单的字符串压缩)。还有其他更有效的方法可以在内存中执行此操作吗?
我想知道,由于我正在处理字符串,使用尝试来代替可能更节省内存吗?
【问题讨论】:
-
另一种可能性是事件溯源方法 - 将所有 更改 的日志存储到 hashmap。如果快照之间的更改数量占整体大小的一小部分,这可能会更有效。
标签: hashmap snapshot key-value-store