在缓存中定义修改的get接口

时间:2013-10-28 17:36:01

标签: java caching

早上好,

我们的服务使用缓存,该缓存每隔一段时间以周期性方式与db的当前状态同步。但是,如果服务重新启动,则存在问题 由于某种原因,一些不太频繁更新的缓存尚未收到他们的数据副本{因为周期性任务尚未安排},因此停机时间更长。我正在考虑添加一个改进的getter接口,该接口传入一个functor,如果在缓存中找不到它,它将从数据库中获取值。问题来自于c ++背景我需要一些关于正确java方式的反馈。

我正在考虑添加这样的界面。

V getOrGenerateForKey(final Key k, final Function<Key, V> foo)

是否还有其他任何可以更好地捕获想法或提供更清晰解决方案的java类?

谢谢,Subramanian

1 个答案:

答案 0 :(得分:0)

您可能想要查看番石榴中的CacheBuilderCacheLoader是界面的“生成”和“更新”部分,CacheBuilder构建的缓存是“获取”。