gpt4 book ai didi

java - Hazelcast - 通用 map 配置

转载 作者:行者123 更新时间:2023-11-29 08:30:50 25 4
gpt4 key购买 nike

我使用带有 spring boot 的 hazelcast 3.9 作为缓存后端,并使用多个分布式 map 作为缓存的数据结构。 map 的大多数配置参数都是通用的,例如备份计数、逐出策略等,但有些参数可能不同,例如生存时间。

是否可以使用它来拥有一个通用的 map 配置,我可以在不同 map 的配置中用作引用?

我发现有些人使用 <map name="default">在一些开源存储库中,看起来他们希望此配置被其他 map 配置覆盖,但它对我不起作用。

这是我目前使用的配置:

<?xml version="1.0" encoding="UTF-8"?>
<hazelcast
xsi:schemaLocation="http://www.hazelcast.com/schema/config https://hazelcast.com/schema/config/hazelcast-config-3.9.xsd"
xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<group>
<name>something</name>
<password>something</password>
</group>

<properties>
<property name="hazelcast.partition.count">83</property>
</properties>

<management-center enabled="true" update-interval="3">http://localhost:8081/mancenter</management-center>
<network>
<join>
<multicast enabled="true"/>
</join>
</network>

<map name="map1">
<!--<max-size policy="PER_NODE">273</max-size>-->
<max-size policy="USED_HEAP_PERCENTAGE">20</max-size>
<eviction-policy>LFU</eviction-policy>
<statistics-enabled>true</statistics-enabled>
<backup-count>0</backup-count>
<async-backup-count>1</async-backup-count>
<read-backup-data>true</read-backup-data>

<time-to-live-seconds>10800</time-to-live-seconds> <!--3 hours-->
</map>

<map name="map2">
<!--<max-size policy="PER_NODE">273</max-size>-->
<max-size policy="USED_HEAP_PERCENTAGE">20</max-size>
<eviction-policy>LFU</eviction-policy>
<statistics-enabled>true</statistics-enabled>
<backup-count>0</backup-count>
<async-backup-count>1</async-backup-count>
<read-backup-data>true</read-backup-data>

<time-to-live-seconds>86400</time-to-live-seconds> <!--24 hours-->
</map>


</hazelcast>

我不太熟悉使用 xml,但我试图找到一些方法在其他 xml 元素中引用 xml 元素,但这似乎也不起作用。看起来 Hazelcast 配置架构中不允许使用 DOCTYPE 属性。

我还想通过代码避免 hazelcast 配置。

最佳答案

Hazelcast 支持集群中配置的大多数数据结构的通配符配置。在名称中使用星号 (*) 字符,可以通过单个配置来配置映射、队列、主题、信号量等的不同实例。请参见下面的示例:

<map name="map*">
<max-size policy="USED_HEAP_PERCENTAGE">20</max-size>
<eviction-policy>LFU</eviction-policy>
<statistics-enabled>true</statistics-enabled>
<backup-count>0</backup-count>
<async-backup-count>1</async-backup-count>
<read-backup-data>true</read-backup-data>
</map>

通过使用此配置,map1map2 将具有完全相同的配置。但是,如果您想使用基本配置添加更多配置元素(例如 time-to-live-seconds),则需要使用编程配置。

关于java - Hazelcast - 通用 map 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48382952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com