我们在使用近缓存机制(我们以 OBJECT 格式存储数据)的应用程序上使用 Hazelcast 和 3.9 版本已有多年。此应用程序连接到 3 个节点的 Hazelcast 集群。
近缓存的配置:
void nearCacheConfig(ClientConfig clientConfig) {
NearCacheConfig nearCacheConfig = new NearCacheConfig();
nearCacheConfig.setName("*" + AbstractCache.NEAR_CACHE_DISCRIMINATORY);
// Useful to avoid serializing object in near cache
nearCacheConfig.setInMemoryFormat(InMemoryFormat.OBJECT);
clientConfig.addNearCacheConfig(nearCacheConfig);
}
最近,我们尝试更新到 4.1 版本,并尝试了巨大的性能问题。经过一些研究,我们发现near cache的数据很快被驱逐(没有任何缓存更新)——最多大约5-10秒。
有谁知道近缓存驱逐的标准机制是否在 3.9 和 4.1 版本之间发生了变化?
我们尝试了许多配置,还尝试了最后一个 Hazelcast 版本(4.2.2),但我们仍然遇到同样的问题。