我正在使用hazelcast-spring-3.1.xsd
。我的 hazelcast 地图配置如下所示。
<hz:map name="defaultMap"
backup-count="1"
max-size="5000"
max-size-policy = "PER_NODE"
eviction-percentage="50"
read-backup-data="true"
eviction-policy="LRU"
merge-policy=
"com.hazelcast.map.merge.LatestUpdateMapMergePolicy"
time-to-live-seconds="0"
>
我已经给了max-size = 5000
。我有 12000条记录, defaultMap 正在加载 12000条记录,如果我插入的话。我在这里很困惑,如何加载比实际大小 5000 更多的数据。我在插入12000条数据记录时也不例外。
还有一件事它的驱逐配置也不起作用。如果达到最大尺寸限制,我想将缓存逐出50%。
任何人都可以帮助我吗?它非常紧急。我错过了什么?
答案 0 :(得分:4)
您有max-size-policy = "PER_NODE"
设置,表示每个Hazelcast实例中的最大地图条目数,而不是整个Hazelcast群集(或整个地图)。
在Hazelcast 2.x版本中,max-size驱逐策略的默认值为cluster_wide_map_size
。在3.x版本中,它将替换为PER_NODE
。
还有其他设置。有关详细的地图逐出设置和示例,您可以查看this输出。
答案 1 :(得分:0)
LFU:最不常用 LRU:最近最少使用 无:无 随机:随机 我想你会用 LRU 而不是 LFU ..
答案 2 :(得分:-1)
您可以使用此属性来解决您的问题:
eviction-policy="LFU"