我正在分析JCache参考实现,我已经找到了Hazelcast。因此,问题是:
发布于 2017-02-03 23:38:12
Hazelcast配置允许您定义命名的映射区域,或者在Hibernate语言区域。在实体上指定@Cache时,区域名称被解析为实体的完全限定类名,除非您自己指定了region属性。
在您的Hazelcast配置中,经常有类似于Hazelcast文档中的以下内容:
<hazelcast>
<map name="com.company.feature.domain.SomeEntityClass">
<time-to-live-seconds>0</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">5000</max-size>
<eviction-percentage>25</eviction-percentage>
<min-eviction-check-millis>100</min-eviction-check-millis>
</map>
</hazelcast>每个地图区域都允许您定义如何驱逐该区域。除非您定义了驱逐策略,或者手动从缓存中删除元素,Hazelcast将无限期地缓存它们。欢迎您阅读Hazelcast文档,该文档描述了每个配置属性所代表的内容及其有效值集。
至于持久性,yes Hazelcast允许您定义一个<mapstore/>配置,您可以在其中指定MapStore和MapLoader实现,这样您就可以将缓存持久化以满足您的需要。
最后,我不一定要谈哈泽尔卡斯特的重量级因素。也许其他人也能参与到这一点上来。
我在这里的建议是在市场和配置中测试它和其他备选方案,从性能和可选性的角度来衡量配置和维护所需的灵活性和刚性,这些方法最适合您的需求。
https://stackoverflow.com/questions/42034312
复制相似问题