gpt4 book ai didi

java - Java实现定时刷新Cache

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:21 24 4
gpt4 key购买 nike

我的用例是对存储在持久性数据库中的数据维护内存缓存。

我使用数据来填充 UI 上的条目列表/映射。在任何给定时间,UI 上显示的数据都应尽可能更新(这可以通过缓存的刷新频率来完成)。

常规缓存实现与此特定缓存之间的主要区别在于它需要定期批量刷新所有元素,因此与 LRU 类型的缓存有很大不同。

我需要用 Java 来实现这个实现,如果有任何现有的框架可以用来围绕它们构建这个框架,那就太好了。

我探索了 Google Guava 缓存库,但它更适合按条目刷新而不是批量刷新。没有简单的 API 可以刷新整个缓存。

我们将不胜感激任何帮助。

此外,如果可以逐步进行刷新,那就太好了,因为刷新整个缓存时出现的唯一限制是,如果缓存的大小非常大,那么内存堆至少应该是两倍缓存的大小,以便加载新条目并用新映射替换旧映射。如果缓存是增量的或者有分块刷新(以相同大小刷新),那就太好了。

最佳答案

EHCache是一个非常全功能的 java 缓存库。我想他们有适合您的东西。

为了对缓存进行增量重新加载(这适用于大多数缓存),只需遍历当前加载的条目并强制刷新它们。 (您可以在后台调度程序上运行此任务)。

作为强制重新加载整个缓存的替代方法,EHCache 能够为条目指定“生存时间”,因此如果条目太陈旧,它们将自动重新加载。

关于java - Java实现定时刷新Cache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12747093/

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