简单的Java缓存库还是设计模式?[已关闭]
2022-09-04 00:37:03
我需要经常访问耗时计算的结果。结果变化不多,所以我必须不时地重新计算数据,但可以使用过时的结果一段时间。最简单的方法是什么,是否有现有的库方法或设计模式?
我正在考虑类似的东西
private static List myCachedList = null;
...
// refresh list once in 3600 seconds
if (needsRefresh(myCachedList, 3600)) {
// run the calculation
myCachedList = ...
}
// use either updated or previous value from here on
一个正确的实现可能不是微不足道的,它可能必须处理线程安全,竞争条件等,所以我宁愿使用一个经过验证的实现,而不是在这里滚动我自己的。