Cache<String, Integer> cache = Cache2kBuilder
.of(String.class, Integer.class)
.name("myCache")
.eternal(true)
.expireAfterWrite(Duration.ofMinutes(10))
.entryCapacity(1000)
.permitNullValues(true)
.build();
Cache<String, Integer> cache = Cache2kBuilder.of(String.class, Integer.class)
.loader(new CacheLoader<String, Integer>() {
@Override
public Integer load(String key) {
return computeSomeValueBasedOnKey(key);
}
})
.build();
Cache<String, Integer> cache = Cache2kBuilder.of(String.class, Integer.class)
.addListener(new CacheEntryListener<String, Integer>() {
@Override
public void onEntryExpired(Cache<String, Integer> cache, CacheEntry<String, Integer> entry) {
System.out.println("Cache entry expired: " + entry.getKey());
}
@Override
public void onEntryRemoved(Cache<String, Integer> cache, CacheEntry<String, Integer> entry) {
System.out.println("Cache entry removed: " + entry.getKey());
}
@Override
public void onEntryUpdated(Cache<String, Integer> cache, CacheEntry<String, Integer> entry, CacheEntry<String, Integer> newEntry) {
System.out.println("Cache entry updated: " + entry.getKey());
}
})
.build();