从IP名单中查询IP时增加过期时间检查,防止GC速度慢时可能有1秒延迟

This commit is contained in:
GoEdgeLab
2024-04-07 13:57:01 +08:00
parent 06c2383c9b
commit 3f012b6021

View File

@@ -267,7 +267,7 @@ func (this *IPList) sortRangeItems(force bool) {
func (this *IPList) lookupIP(ipBytes []byte) *IPItem {
{
item, ok := this.ipMap[ToHex(ipBytes)]
if ok {
if ok && (item.ExpiredAt == 0 || item.ExpiredAt > fasttime.Now().Unix()) {
return item
}
}
@@ -297,7 +297,11 @@ func (this *IPList) lookupIP(ipBytes []byte) *IPItem {
return nil
}
return this.sortedRangeItems[resultIndex]
var item = this.sortedRangeItems[resultIndex]
if item.ExpiredAt == 0 || item.ExpiredAt > fasttime.Now().Unix() {
return item
}
return nil
}
// 在不加锁的情况下删除某个Item