1

我正在使用 ehCache 来存储大量数据。该缓存每秒访问大约 3 次,并且必须保持最新。我有一个运行的线程,它每分钟将缓存所需的所有数据从数据库中检索到不同的缓存中(也有不同的缓存管理器)。我想要做的是将新缓存中的数据内容复制到缓存中,该缓存每秒以快速、可靠和同步的方式被访问。(例如调用replace方法传入现有缓存和新缓存并快速安全地更新新缓存)

在ehCache中有什么办法可以做到这一点吗?

任何帮助是极大的赞赏。

谢谢达米安

4

2 回答 2

6

听起来您正在寻找一个复杂的解决方案来解决 ehcache 开箱即用的问题。

您只需要一个缓存管理器。将其配置为每分钟刷新一次。如果需要,通过创建一个每分钟刷新一次缓存的线程来执行此操作。

当您尝试从缓存中检索某些内容并且它不存在时,再次加载数据。如果要确保填充缓存块的进度,请将此缓存检索位放在同步方法或块中。

于 2008-11-04T12:42:37.703 回答
0

+1史蒂夫麦克劳德

请参见SelfPopulatingCache

我相信这会做想要的,而且很快。

如果您仍然想维护两个缓存,这仍然是要走的路。只需让CacheFactory实例从您自己维护的缓存中返回缓存值。

于 2008-11-04T13:21:29.747 回答