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

Springboot Ehcache加载数据

赵才俊
2023-03-14

>

  • 该服务使用SpringBoot、Maven、MongoDB和Ehcache。

    服务需要一个快速且频繁缓存的服务器,所以最终,我选择了Ehcache。

    所有缓存都将以几乎相同的频率调用,因此在这种情况下没有热数据或冷数据。

    MongoDB中的原始数据每天都会被定时器服务更新,所以我每天要做的就是将所有更新的数据加载到Ehcache中。

    这些数据中的每一项都彼此有联系,就像您使用一个来查找另一个的相关id一样。所以如果一个缓存更新了,而另一个没有,那么你就找不到这些相关的id。我想避免这种情况。

    所以我的问题是,有没有办法实现这样的功能,比如用两台Ehcache服务器什么的?即当一个正在使用时,另一个可以从MongoDB加载数据。更新完成后,将其切换到更新后的版本。所以每天当MongoDB数据更新时,我必须更新Ehcache数据,这不会影响我当前的缓存。那只是我的一个想法。另一个想法是类似SQL事务的东西。有没有其他方法可以达到这个目的。

    请告知。

  • 共有1个答案

    安坚诚
    2023-03-14

    这是个好问题。我有两种看法。

    一种是使用应用程序锁。当你准备重新加载缓存时,你阻止对它的访问并这样做。没有办法同时清除所有缓存。问题是更新期间所有内容都会被阻止。

    另一种方法是使用其他缓存。因此,用新数据加载新缓存,然后交换新缓存和过期缓存。这个解决方案的问题是,在给定的时刻,由于两个缓存都在内存中,您将占用两倍的内存。

     类似资料:
    • PyTorch包含一个名为的包,用于加载和准备数据集。它包括两个基本功能,即和,它们有助于数据集的转换和加载。 数据集 数据集用于从给定数据集读取和转换数据点。实现的基本语法如下所述 - 用于随机播放和批量处理数据。它可用于与多处理工作程序并行加载数据。 示例:加载CSV文件 使用Python包Panda来加载csv文件。原始文件具有以下格式:(图像名称,68个标记 - 每个标记具有,坐标)。

    • 问题内容: 在数据完成加载之前,如何使AngularJS显示加载微调框? 如果我的控制器是静态设置的,并且填充了AJAX加载器,我希望微调器显示直到AJAX加载完成,然后使用检索到的数据填充绑定范围。 此代码立即填充绑定范围,并且如果为空,则微调框将被替换为空。 我应该如何干净地做这件事? 问题答案: 我会根据其他答案创建一个自定义指令,但是这是没有指令的情况下如何实现的,这可能是在进入更复杂的功

    • 加载示例数据 本节内容依赖以下数据: 威廉·莎士比亚全集,解析成合适的字段。点击这里下载这个数据集: shakespeare.json. 一组虚构的账户与随机生成的数据。点击这里下载这个数据集: accounts.zip. 一组随机生成的日志文件。点击这里下载这个数据集: logs.jsonl.gz. 其中有两个数据集是压缩文件,可使用以下命令解压缩文件: unzip accounts.zip g

    • 问题内容: 我正在使用我使用android studio Tabbed Activity 创建的应用程序上工作,我选择了此活动,以便在用户滑动时从json url加载一些数据,并且我创建了另一个类,该类可以在方法上获取JSON数据,并且所有这些都可以正常工作,除非在应用程序时从调用方法的主要活动开始,并且当我调用布局时未填充任何数据时 ,我想要的是加载应用程序MainActivity时要显示的数据

    • 问题内容: 您好朋友,我想在特定的div加载数据之前向Ajax加载器显示,但问题是数据在同一页面上动态传输,但是我的脚本从另一个文件调用数据, 请参见下面的代码 脚本 的HTML 它的工作正常,但我想在同一页面中加载数据,请帮助我 提前致谢 .... 编辑 我想说明之前加载数据装载到 问题答案: 您可以尝试使用以下html- 和脚本-