当前位置: 首页 > 知识库问答 >
问题:

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

东门俊民
2023-03-14

我已经将Hazelcast缓存配置为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>

我想要为同一实例提供本地缓存,其中很少缓存不应共享。

如何在应用中一起做本地和分布式缓存?

共有1个答案

洪知
2023-03-14

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

您可以做的是在每个服务中创建第二个独立的Hazelcast实例,这样它就可以像本地缓存一样工作。

 类似资料:
  • 我们可以通过下面的简单算法实现该目的: 检查本地缓存的键(key); 如果本地缓存存在该键,则返回它的值; 如果本地缓存不存在该键,则尝试在分布式缓存中找; 如果分布式缓存存在该键,则返回它的值并把它添加到本地缓存; 如果分布式缓存不存在该键,则从数据库中获取,并添加到本地和分布式缓存,最后返回该值。 当在本地缓存服务器中缓存一些信息时,使用这种方式,它还将信息缓存到分布式缓存,但这一次,如果其他

  • Web 应用程序可能需要为成百上千甚至更多的用户同时提供服务。如果你没有采取必要的措施,在这种负载下,你的网站可能会崩溃或变得没有响应。 假设在主页显示最后 10 条新闻,并且平均每分钟有上千名用户访问此页面。你可能为每个用户通过查询数据库来显示页面视图信息: SELECT TOP 10 Title, NewsDate, Subject, Body FROM News ORDER BY NewsD

  • 现在假设我们有一个社交网站,有数以百万的用户简介,一些著名用户的简介页面每分钟有数百或数千人访问。 要生成一个用户简介,需要多个 SQL 查询(朋友、相册名称及照片总数、简介信息、最后状态等)。 只要用户没有更新个人资料,在个人资料页显示的信息几乎是静态的。因此,个人资料页的快照可以缓存 5 分钟或 1 小时等。 但这或许还不够。我们正在谈论数以百万的简介和用户。用户不会只查看一些简介页。我们需要

  • 问题内容: 我正在寻找Java分布式缓存解决方案。我们希望功能喜欢: 我们已经分析了Terracotta这样的框架,它似乎是缓存框架中我们想要的一切……但是,似乎需要一个中央缓存节点,这成为我们的单点故障。 除了推出我们自己的解决方案之外,还有其他想法吗? 问题答案: 我建议使用JBossCache或EhCache(使用分布式缓存侦听器)。我都用过,我都喜欢,它们都适合您的要求。

  • Serenity 提供一些缓存抽象和实用功能让你更容易地使用本地缓存。 术语 本地(local) 的意思是指在本地内存中缓存项目(因此没有涉及到序列化)。 当你的应用程序在网站群(web farm) 中部署时,本地缓存可能还不够或者有时合适。我们将在 分布式缓存 章节中讨论该场景。

  • 我正在寻找集成Hazelcast到我的应用程序... 我的要求是将所有数据加载到缓存并从缓存中提取。。 我有两个选择。 1) Hazelcast IMap 2)因为我使用的是Spring启动,所以我可以使用(@Cacheable/@CacheEvict)。 我能得到一些建议吗... 提前谢谢你。。