如何在本地模式下配置近缓存

时间:2015-01-14 15:21:49

标签: hibernate caching hazelcast

this页面上,我发现使用本地模式进行休眠以获得性能可能是有意义的:

  

在本地模式下,当您从缓存中读取时,它将始终是本地的,并且更新将失效)。对于某些用例,这是将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>

因为对于本地模式我只能使用本地地图,是否仍然需要定义近缓存,或者我是否可以使用OBJECT内存格式来存储这些本地地图?

1 个答案:

答案 0 :(得分:1)

我开始调试整个事情了。有一个名为LocalRegionCache的类,它包含一个由ConcurrentHashMap表示的缓存字段。地图使用法线贴图配置进行最大尺寸限制等。

幸运的是到目前为止没有发生序列化(在地图条目上),所以我猜它已经像近缓存一样工作,并且不需要任何进一步的近缓存配置。