在这页面上,我发现为了获得性能,对hibernate使用本地模式可能是有意义的:
在本地模式下,当您从缓存中读取时,它将始终是本地的,并且更新将失效)。对于某些用例,这是一种将Hazelcast作为二级缓存部署的高性能方法,因为实体保证是本地的和内存中的。
据我所知,hazelcast没有在集群中分发地图,而是使用主题来使不同集群节点上的本地映射失效。目前,我们使用服务器-客户端模式,并在缓存附近定义客户端如下:
<near-cache name="one.of.our.Entities">
<max-size>25000</max-size>
<time-to-live-seconds>0</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LFU</eviction-policy>
<invalidate-on-change>true</invalidate-on-change>
<in-memory-format>OBJECT</in-memory-format>
</near-cache>由于对于本地模式,我无论如何都只有一个本地映射,那么是否仍然需要定义一个近缓存,或者我是否可以为这些本地映射使用内存中的对象格式?
发布于 2015-01-14 16:36:25
我开始调试整件事。有一个名为LocalRegionCache的类,它包含一个由ConcurrentHashMap表示的缓存字段。地图使用正常的地图配置,用于最大尺寸限制等。
幸运的是,到目前为止还没有发生序列化(在地图条目上),所以我猜它已经像最近的缓存一样工作了,并且不需要任何更近的缓存配置。
https://stackoverflow.com/questions/27946364
复制相似问题