缓存/作业跟踪框架

时间:2016-02-10 21:40:20

标签: java caching jobs

我正在尝试解决以下问题:

  • 我有一些昂贵的工作要做,然后我会缓存
  • 的结果
  • 作品以字符串
  • 键入
  • 许多请求可能同时到达相同的密钥
  • 我想避免每个键不止一次地完成这项工作
  • 我想针对在完成工作时调用的密钥添加回调;在首次提交作品时,并非所有这些都是已知的。

这感觉就像一个应该已经解决的问题;有人知道覆盖它的Java框架或库吗?

1 个答案:

答案 0 :(得分:1)

我可以想象一下guava的LoadingCache周围的包装,但我不知道一个开箱即用的库。

虽然LoadingCache#get是同步的,但确实可以获得1-4,使用refresh时可能会有一些里程可以返回ListenableFuture(尽管可以获得列出的所有功能)它可能会成为一个相当厚实的包装?)

供参考:

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/LoadingCache.html#refresh(K)

http://www.theotherian.com/2013/11/non-blocking-cache-with-guava-and-listenable-futures.html