mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
未设置过期策略时,无需遍历判断过期对象
This commit is contained in:
parent
58355265ff
commit
32987812c0
@ -51,6 +51,8 @@ public class FIFOCache<K, V> extends AbstractCache<K, V> {
|
|||||||
|
|
||||||
// 清理过期对象并找出链表头部元素(先入元素)
|
// 清理过期对象并找出链表头部元素(先入元素)
|
||||||
Iterator<CacheObj<K, V>> values = cacheMap.values().iterator();
|
Iterator<CacheObj<K, V>> values = cacheMap.values().iterator();
|
||||||
|
if (isPruneExpiredActive()) {
|
||||||
|
// 清理过期对象并找出链表头部元素(先入元素)
|
||||||
while (values.hasNext()) {
|
while (values.hasNext()) {
|
||||||
CacheObj<K, V> co = values.next();
|
CacheObj<K, V> co = values.next();
|
||||||
if (co.isExpired()) {
|
if (co.isExpired()) {
|
||||||
@ -63,6 +65,9 @@ public class FIFOCache<K, V> extends AbstractCache<K, V> {
|
|||||||
first = co;
|
first = co;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
first = values.hasNext() ? values.next() : null;
|
||||||
|
}
|
||||||
|
|
||||||
// 清理结束后依旧是满的,则删除第一个被缓存的对象
|
// 清理结束后依旧是满的,则删除第一个被缓存的对象
|
||||||
if (isFull() && null != first) {
|
if (isFull() && null != first) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user