java - Hazelcast 近缓存驱逐不起作用

标签 java hazelcast

我正在使用 Hazelcast 3.7.4,并且我有精简版和非精简版成员(member)。

在我的精简版成员(member)上,我设置近缓存如下:

        NearCacheConfig nearCacheConfig = new NearCacheConfig(0, cacheSize, EvictionPolicy.LRU.name(), 0, true, InMemoryFormat.OBJECT);
        config.getMapConfig(mapName).setNearCacheConfig(nearCacheConfig);

我已经在我的精简版成员上配置了条目监听器,并且可以验证它是否在更改时被调用。而且,新旧值内容都是正确的。

但是当我尝试从 map 中获取值时,我仍然得到旧值。

在调试时,我尝试查看 map 内容,并且可以看到新值,但是当我调用: map.get(key) 时,会返回旧值。

最佳答案

这显然是一个错误,我从 HZ 团队得到的答案:

Thanks for reporting this, indeed it is a bug for 3.7 version. 3.8-EA don't have this issue. Root cause of the issue is invalidations are not sent to lite-members if near cache is not configured also on other members.

For now, as a workaround you can enable near cache on other members. Possibly we can fix this issue in next 3.7 patch release which will be 3.7.6.

作为一种解决方法,按照建议,我在其他成员上启用了近缓存(仅适用于这张 map ),它解决了问题。

https://github.com/hazelcast/hazelcast/issues/9723

关于java - Hazelcast 近缓存驱逐不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41789904/

相关文章:

java - Flink 流式处理程序在处理时间上正确运行,但在事件时间上不会产生结果

java - 如何在 Spring4 Rest api 中流式传输大型 csv?

java - Google 静态 map API - 创建具有 1000 个点的图像

java - 写入 .csv 文件中的新行而不覆盖第一行

hazelcast - Vert.x 中的集群和共享数据

java - 无法在开放类次环境中启动 hazelcast。服务器套接字绑定(bind)失败。没有权限

java - 如何查看 Hazelcast 缓存日志

java - @Cacheable 条件使用应用程序属性

java - HazelCast Rest-Client 响应内容类型配置问题

java - 以分布式模式运行由 hazelcast 缓存支持的 vert.x 集群