Hazlecast缓存本地和分布式缓存配置

时间:2018-07-15 05:05:50

标签: spring-boot caching hazelcast hazelcast-imap

我已将hazlecast缓存配置为在Spring Boot应用程序中分发。

<group>
    <name>instance1</name>
    <password>pass</password>
</group>

<map name="users">
    <!-- <time-to-live-seconds>30</time-to-live-seconds> -->
    <max-idle-seconds>30</max-idle-seconds>
    <eviction-policy>LRU</eviction-policy>
    <max-size policy="PER_NODE">5000</max-size>
    <backup-count>0</backup-count>
    <async-backup-count>0</async-backup-count>
    <read-backup-data>false</read-backup-data>
</map>

<network>
    <port auto-increment="true" port-count="100">5701</port>
    <join>
        <multicast enabled="false">
            <multicast-group>224.2.2.3</multicast-group>
            <multicast-port>54327</multicast-port>
        </multicast>
        <!-- <tcp-ip enabled="false"> <member>127.0.0.1:5709</member> <member>127.0.0.1:5710</member> 
            </tcp-ip> -->
        <tcp-ip enabled="true">
            <interface>127.0.0.1</interface>
        </tcp-ip>
        <aws enabled="false" />
    </join>
</network>

<properties>
    <property name="hazelcast.http.healthcheck.enabled">false</property>
    <property name="hazelcast.health.monitoring.delay.seconds">3000</property>
    <property name="hazelcast.heartbeat.interval.seconds">1500</property>
    <property name="hazelcast.health.monitoring.level">SILENT</property>
    <property name="hazelcast.client.statistics.enabled">false</property>
    <property name="hazelcast.initial.min.cluster.size">0</property>
    <property name="hazelcast.initial.wait.seconds">0</property>
</properties>

如果我像上面那样创建一个组,无论我在哪里添加该组,该实例缓存都是同步的。

我希望为同一实例提供本地缓存,而该缓存不应共享。

如何在应用程序中一起进行本地和分布式缓存?

2 个答案:

答案 0 :(得分:0)

@ Shakthi,Hazelcast是一个分布式内存数据网格。因此,您创建的每个对象都是分布式的。

您可以做的是在每个服务中创建第二个隔离的Hazelcast实例,使其像本地缓存一样工作。

答案 1 :(得分:0)

@Shakthi-您正在寻找的被称为NearCache。看一下文档:http://docs.hazelcast.org/docs/3.10.2/manual/html-single/index.html#near-cache