我的用例是在持久数据库中存储的数据上维护内存缓存。
我使用这些数据来填充 UI 上的条目列表/地图。在任何给定时间,UI 上显示的数据都应尽可能更新(这可以通过缓存的刷新频率来完成)。
常规缓存实现与此特定缓存之间的主要区别在于,它需要定期批量刷新所有元素,因此与 LRU 类型的缓存有很大不同。
我需要在 Java 中完成这个实现,如果有任何现有的框架可以用来围绕它们构建它,那就太好了。
我已经探索过 Google Guava 缓存库,但它更适合于每次刷新而不是批量刷新。没有简单的 API 可以对整个缓存进行刷新。
任何帮助将不胜感激。
此外,如果可以增量地进行刷新,那就太好了,因为刷新整个缓存时出现的唯一限制是,如果缓存的大小非常大,那么内存堆应该至少是缓存大小的两倍。缓存以加载新条目并用新条目替换旧映射。如果缓存是增量的或有分块刷新(以相等的大小刷新),那就太好了。