我想让 Map eviction max-size="4" PER_NODE 在 Hazelcast 3.6.2 spring 上工作。下面是我在春天定义的地图。
<hz:map name="sfdRequestMap" in-memory-format="OBJECT" eviction-policy="LRU" max-size="4" max-size-policy="PER_NODE" eviction-percentage="25">
</hz:map>
Run Code Online (Sandbox Code Playgroud)
我还检查了是否确实为定义的地图设置了此驱逐政策,并且确实如此。几秒钟后驱逐也适用于该地图,但在覆盖最大尺寸时驱逐无效。我正在使用 hazelcast 3.6.2。我还尝试删除内存格式,更改驱逐政策等。
预期行为是,当地图超过项目数量(超过 4 个)时,驱逐将开始。实际行为是驱逐从未开始。
欢迎任何帮助。
我已经为开发和 QA 环境配置了 hazelcast,并保持 hazelcast 实例名称相同但组名称不同(在每个 yml 文件中)。它是否正确 ?另外,有没有办法限制集群成员。它只会加入端口号显式配置的成员。您能指导一些示例吗?
谢谢。
我们正在尝试找出在不使用悲观锁定的情况下使用 Hazelcast 的 IMap 的最佳方法。
EntryProcessor 似乎是正确的选择,但是我们需要应用两种不同类型的操作:当 containsKey 为假时“创建”,以及当 containsKey 为真时“更新”。
我如何利用 EntryProcessor 来支持这些逻辑检查?
如果两个线程同时命中 containsKey() 并且返回 false 给它们,我不希望它们都创建密钥。我希望第二个线程改为应用更新。
这是我们到目前为止所拥有的:
public void put(String key, Object value) {
IMap<String, Object> map = getMap();
if (!map.containsKey(key)) {
// create key here
} else {
// update existing value here
// ...
map.executeOnKey(key, new TransactionEntryProcessor({my_new_value}));
}
}
private static class MyEntryProcessor implements
EntryProcessor<String, Object>, EntryBackupProcessor<String, Object>, Serializable {
private static final long serialVersionUID = // blah blah
private static final ThreadLocal<Object> entryToSet = …
Run Code Online (Sandbox Code Playgroud) 我有两个hazelcast地图1. map2 2. map2
我想把两个地图都放在键上。
我可以在hazelcast中做吗?
谢谢
我想使用 hazelcast 作为 spring 的缓存提供程序。假设我能够配置集群并选择正确的 hazelcast CacheManager 实现。
我想确保 hazelcast 缓存支持“同步”注释属性,如此处所述
我想确保编写像这样的代码
@Cacheable(cacheNames="foos", sync=true)
public Foo executeExpensiveOperation(String id) {...}
Run Code Online (Sandbox Code Playgroud)
...将为我保证条目将被锁定,而缓存值将由 CacheLoader 计算。
现代版本的 hazelcast 支持同步缓存实现吗?
我知道分布式读取 IMap 具有与同步缓存类似的行为。我可以通过按键显式锁定映射条目。我应该使用这些结构作为替代吗?
我们使用 Hazelcast IMDG 作为内存网格。我们集群中的节点数是三个,我们有一个同步备份并且集群是分区感知的。在这种情况下,我希望分布式地图将均匀分布在 3 个节点(或多或少)上。如果节点发生故障,领导权应转移到健康节点(具有丢失数据的同步备份)。如果对该新分配的领导节点有写入请求,则应将同一分区同步复制到活动节点之一。这是否意味着在节点故障的情况下,应该复制大约三分之一的分布式映射,并且在复制时间内,所有读取都被阻止?如果在一次同步备份的情况下三个节点之一宕机,直到大约三分之一的分布恢复,可用性会受到影响吗?