Hazelcast 缓存创建
Hazelcast Cache Creation
在 Hazelcast 中,我使用客户端 - 服务器模式。集群中大约有 10 个节点,并且会有多个客户端从不同的应用程序实例访问同一个缓存。你能帮我解决以下问题吗?
在 Hazelcast 的客户端服务器模式下,这是创建缓存的正确方法。是通过编程方式还是通过声明方式?我的应用程序中有多个缓存可用,它们在某些属性(如驱逐配置等)上有所不同。每个缓存将由我的应用程序中的一个单独的对象实例访问(即一个对象实例将仅使用 1 个缓存)。
一种方法是否比另一种方法有任何优势,或者两者是否相同?
谢谢
JK
@JK_007,Hazelcast 可以通过声明方式 (XML) 或编程方式 (API) 进行配置,也可以使用两者的组合。两者都是创建缓存的正确方法。
选择实际上取决于您的用例。声明方式是定义配置的静态方式。您可以为您打算在应用程序中使用的每个分布式数据结构提及单独的配置集。例如hazelcast.xml 中的以下代码片段创建了一个名称为 simpleMap
和下面提到的配置的 IMAP。
<map name="simpleMap">
<backup-count>0</backup-count>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<time-to-live-seconds>30</time-to-live-seconds>
<max-size>3000</max-size>
<eviction-percentage>30</eviction-percentage>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
</map>
您还可以从多个 XML 配置片段定义 hazelcast XML 配置文件。为了达到同样的效果,您可以使用 <import/>
元素加载不同的 XML 配置文件。
如果您需要在运行时定义缓存(例如,基于某些条件)以及测试,编程方式非常有用。您可以将其视为 hazelcast.xml.
的静态性质的解决方案
对于 hazecast xml 中的每个标签,您可以在 Config
对象中找到其编程等效项。总而言之,如果您需要动态功能(add/modify 配置),请采用编程方式。如果你非常确定在运行时不需要做任何事情,你可以使用声明方式。
在 Hazelcast 中,我使用客户端 - 服务器模式。集群中大约有 10 个节点,并且会有多个客户端从不同的应用程序实例访问同一个缓存。你能帮我解决以下问题吗?
在 Hazelcast 的客户端服务器模式下,这是创建缓存的正确方法。是通过编程方式还是通过声明方式?我的应用程序中有多个缓存可用,它们在某些属性(如驱逐配置等)上有所不同。每个缓存将由我的应用程序中的一个单独的对象实例访问(即一个对象实例将仅使用 1 个缓存)。
一种方法是否比另一种方法有任何优势,或者两者是否相同?
谢谢 JK
@JK_007,Hazelcast 可以通过声明方式 (XML) 或编程方式 (API) 进行配置,也可以使用两者的组合。两者都是创建缓存的正确方法。
选择实际上取决于您的用例。声明方式是定义配置的静态方式。您可以为您打算在应用程序中使用的每个分布式数据结构提及单独的配置集。例如hazelcast.xml 中的以下代码片段创建了一个名称为 simpleMap
和下面提到的配置的 IMAP。
<map name="simpleMap">
<backup-count>0</backup-count>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<time-to-live-seconds>30</time-to-live-seconds>
<max-size>3000</max-size>
<eviction-percentage>30</eviction-percentage>
<merge-policy>com.hazelcast.map.merge.PutIfAbsentMapMergePolicy</merge-policy>
</map>
您还可以从多个 XML 配置片段定义 hazelcast XML 配置文件。为了达到同样的效果,您可以使用 <import/>
元素加载不同的 XML 配置文件。
如果您需要在运行时定义缓存(例如,基于某些条件)以及测试,编程方式非常有用。您可以将其视为 hazelcast.xml.
的静态性质的解决方案对于 hazecast xml 中的每个标签,您可以在 Config
对象中找到其编程等效项。总而言之,如果您需要动态功能(add/modify 配置),请采用编程方式。如果你非常确定在运行时不需要做任何事情,你可以使用声明方式。