HazelCast分布式二级缓存和更新失效



我正在使用休眠5和hazelcast 3.5.4。对于二级缓存,我使用HazelcastCacheRegionFactory,它恰好是分布式实现。

HazelcastLocalCacheRegionFactory 文档明确指出,在更新/删除的情况下发送失效消息。

我在具有双节点群集二级缓存的本地网络中进行了测试。从节点读取实体后,另一个节点将不访问数据库,而是从 hazelcast 获取实体。但是,一旦一个节点更新了一个实体,另一个节点为了获取实体而执行查询。

所以我的问题是 HazelcastCacheRegionFactory 是否也在更新/删除时发送失效消息,而不是传播更改。

谢谢。

所以我

的问题是HazelcastCacheRegionFactory是否发送失效消息也在更新/删除而不是传播更改时。

不,它没有,更改是传播的,如文档中所述:

HazelcastCacheRegionFactory使用标准的Hazelcast分布式 地图。将执行所有操作,如getputremove 使用分布式映射逻辑。使用的唯一缺点 与 相比,HazelcastCacheRegionFactory可能是较低的性能 HazelcastLocalCacheRegionFactory,因为操作处理为 分布式呼叫。

我认为分布式 Hibernate L2 缓存的负面性能影响在上述文档中没有得到足够的强调,因为在实践中它可能太大,以至于直接从数据库读取数据会更快,正如我在这里解释的那样。

最新更新