前言
Caffeine提供了三种驱逐策略 - 基于大小、基于时间、基于引用。
一、基于大小
使用固定大小的容量maximumSize或者maximumWeight,一旦超出将基于recently or very often(最近最少)策略,驱逐元素。
1. maximumSize
要求maximumSize与maximumWeight只能设置一个。此外,maximumSize必须大于0。
e.g.
Cache<Object, Object> cache = Caffeine.newBuilder()
.maximumSize(10)
.build();
List<Object> list = new ArrayList<>(100);
for (int i = 0; i < 100; i++) {
cache.put(i, i);
list.add(i);
}
Map<Object, Object> map = cache.getAllPresent(list);
map.forEach((k, v) -> {
System.out