!425 FIFOCache未设置过期策略时,无需遍历判断过期对象

Merge pull request !425 from liklik/v5-dev
This commit is contained in:
Looly 2021-09-30 09:14:16 +00:00 committed by Gitee
commit c3211c9517

View File

@ -51,6 +51,8 @@ public class FIFOCache<K, V> extends AbstractCache<K, V> {
// 清理过期对象并找出链表头部元素先入元素
Iterator<CacheObj<K, V>> values = cacheMap.values().iterator();
if (isPruneExpiredActive()) {
// 清理过期对象并找出链表头部元素先入元素
while (values.hasNext()) {
CacheObj<K, V> co = values.next();
if (co.isExpired()) {
@ -63,6 +65,9 @@ public class FIFOCache<K, V> extends AbstractCache<K, V> {
first = co;
}
}
} else {
first = values.hasNext() ? values.next() : null;
}
// 清理结束后依旧是满的则删除第一个被缓存的对象
if (isFull() && null != first) {