LoadingCache<String, Integer> cache = Caffeine.newBuilder()
.maximumSize(100)
.build(key -> expensiveDatabaseOperation(key));
public Integer expensiveDatabaseOperation(String key) {
return data;
}
Integer value = cache.get("key");
LoadingCache<String, Integer> cache = Caffeine.newBuilder()
.expireAfterWrite(10, TimeUnit.MINUTES)
.build(key -> expensiveDatabaseOperation(key));
cache.put("key", value);
LoadingCache<String, Integer> cache = Caffeine.newBuilder()
.refreshAfterWrite(1, TimeUnit.MINUTES)
.build(key -> expensiveDatabaseOperation(key));
Integer value = cache.get("key");
LoadingCache<String, Integer> cache = Caffeine.newBuilder()
.maximumSize(100)
.build(key -> expensiveDatabaseOperation(key));
cache.put("key", value);