我可以使用 isKeyInCache 和 put 方法替换 ehcache 上的 putIfAbsent 吗?
这是我的测试代码,性能差异很大
// putIfAbsent
time = System.nanoTime();
ehcache.putIfAbsent(new Element(assetUid, asset));
estimated = System.nanoTime();
System.out.println(estimated - time);
// isKeyInCache and put
time = System.nanoTime();
if (!ehcache.isKeyInCache(assetUid)) {
ehcache.put(new Element(assetUid, asset));
}
estimated = System.nanoTime();
System.out.println(estimated - time);
和控制台输出
1693409
18235
或者你有其他建议?谢谢