HazelCast分布式二级缓存和更新失效
HazelCast distributed second level cache and update invalidation
我正在使用休眠 5 和 hazelcast 3.5.4。对于二级缓存,我使用 HazelcastCacheRegionFactory,它恰好是分布式实现。
HazelcastLocalCacheRegionFactory 文档明确指出,在 update/delete 的情况下,将发送无效消息。
我在具有双节点集群二级缓存的本地网络中进行了测试。一旦从一个节点读取了一个实体,另一个节点就不会访问数据库,而是从 hazelcast 中获取实体。然而,一旦一个节点更新了一个实体,另一个节点为了获取该实体就会进行查询。
所以我的问题是 HazelcastCacheRegionFactory 是否也在 update/delete 上发送失效消息而不是传播更改。
谢谢。
所以我的问题是 HazelcastCacheRegionFactory 是否发送失效
update/delete 上也有消息,而不是传播更改。
不,它没有,更改已传播,如 documentation 中所述:
HazelcastCacheRegionFactory
uses standard Hazelcast Distributed
Maps. All operations like get
, put
, and remove
will be performed
using the Distributed Map logic. The only downside of using
HazelcastCacheRegionFactory
may be the lower performance compared to
HazelcastLocalCacheRegionFactory
since operations are handled as
distributed calls.
我认为分布式 Hibernate L2 缓存的负面性能影响在上面的文档中没有得到足够的强调,因为实际上它可能很大以至于直接从数据库读取数据更快,正如我所解释的.
我正在使用休眠 5 和 hazelcast 3.5.4。对于二级缓存,我使用 HazelcastCacheRegionFactory,它恰好是分布式实现。
HazelcastLocalCacheRegionFactory 文档明确指出,在 update/delete 的情况下,将发送无效消息。
我在具有双节点集群二级缓存的本地网络中进行了测试。一旦从一个节点读取了一个实体,另一个节点就不会访问数据库,而是从 hazelcast 中获取实体。然而,一旦一个节点更新了一个实体,另一个节点为了获取该实体就会进行查询。
所以我的问题是 HazelcastCacheRegionFactory 是否也在 update/delete 上发送失效消息而不是传播更改。
谢谢。
所以我的问题是 HazelcastCacheRegionFactory 是否发送失效 update/delete 上也有消息,而不是传播更改。
不,它没有,更改已传播,如 documentation 中所述:
HazelcastCacheRegionFactory
uses standard Hazelcast Distributed Maps. All operations likeget
,put
, andremove
will be performed using the Distributed Map logic. The only downside of usingHazelcastCacheRegionFactory
may be the lower performance compared toHazelcastLocalCacheRegionFactory
since operations are handled as distributed calls.
我认为分布式 Hibernate L2 缓存的负面性能影响在上面的文档中没有得到足够的强调,因为实际上它可能很大以至于直接从数据库读取数据更快,正如我所解释的