cache
Cache<String, Boolean> localCache = CacheBuilder.newBuilder()
.initialCapacity(CAPACITY)
.maximumSize(CAPACITY)
// 并发数,可以简单理解为:并发数为1,则只有一个链表,并发数为2,则有两个链表
// 每个链表的数据元素总数为 总容量/并发数
// 但是每个链表被分配的元素不一定均匀,所有 可能存在 某个链表元素被频繁移除
// 设置为1,则总容量就是当前一个链表的容量
.concurrencyLevel(1)
.removalListener(new RemovalListener<String, Boolean>() {
@Override
public void onRemoval(RemovalNotification<String, Boolean> notification) {
// 当有元素被移除时,会调这个方法
}
})
.expireAfterWrite(EXPIRE, TimeUnit.DAYS) // 过期时间
.build();