在hazelcast地图上实施持久性时,必须实现MapStore
接口。在地图上调用clear()
时,hazelcast会为deleteAll(Collection<K> clctn)
调用一组不同的密钥,这些密钥必须使用每个密钥的删除调用以迭代方式从商店中删除。
这会对包含大量映射条目的商店造成性能问题。不幸的是,无论榛子已知的密钥如何,都无法告诉商店“截断”地图。
有人知道解决方法吗?是否计划支持对hazelcast MapStore进行截断调用?
最好的问候,亚历山大。
答案 0 :(得分:0)
目前没有计划实施。我想有什么可以帮助你知道清楚被称为?这里的问题是,clear不像集群范围的原子操作,你只是在db上使用truncate,可能会发生其他节点立即再次开始写入数据 - 如果这是有意义的。
因此,如果每个节点都调用truncate,你可能会丢失一些永不丢失的数据,这取决于用例是否是坏事。
克里斯